* msdos/sed1v2.inp (PAXCTL_dumped, PAXCTL_notdumped): Define to
empty, and remove the lines which use them in recipes, as that
causes weird error message from Make and breaks the MSDOS build.
* config.bat:
* msdos/sedlisp.inp:
* msdos/sedlibmk.inp:
* msdos/sedleim.inp:
* msdos/sedadmin.inp:
* msdos/sed6.inp:
* msdos/sed3v2.inp:
* msdos/sed2v2.inp:
* msdos/sed1v2.inp: Adapt to Emacs 25.
* src/process.c (remove_slash_colon): Move out of "#ifdef
subprocesses" block, as it its called unconditionally. Move
ADD_SUBFEATURE calls into "#ifdef subprocesses" block, as they
reference variables only defined in that block.
* src/msdos.h: Provide prototypes for IT_set_frame_parameters,
faccessat, msdos_fatal_signal, syms_of_msdos, pthread_sigmask,
dos_keysns, dos_keyread, run_msdos_command, and
syms_of_win16select, to avoid compiler warnings.
* src/msdos.c (SYS_ENVIRON): Define to either '_environ' or
'environ', depending on the DJGPP version.
Remove declarations of externally-visible Lisp objects, like
Qbackground_color and Qreverse.
(run_msdos_command): First argument is not signed, not unsigned.
Use SYS_ENVIRON.
(sys_select): Use 'timespec_cmp' instead of 'timespec_sign', as
the latter doesn't work when 'time_t' is an unsigned data type.
This caused idle timers to behave incorrectly: they only fired
after a keyboard input event.
* src/frame.c (adjust_frame_size) [MSDOS]: Account for
FRAME_TOP_MARGIN that isn't counted in the frame's number of
lines, but dos_set_window_size needs it to be added.
* src/lread.c (INFINITY, NAN) [DJGPP < 2.05]: Provide definitions.
* src/fns.c (sort_vector_copy) [__GNUC__ < 4]: Provide a prototype
that works around compilation errors with older GCC versions.
* src/w16select.c: Don't declare QCLIPBOARD and QPRIMARY as Lisp
Objects.
* src/filelock.c [MSDOS]: Ifdef away most of the code. Provide
no-op implementations for 'lock_file' and 'unlock_file'.
(Ffile_locked_p) [MSDOS]: Always return nil. This avoids multiple
ifdefs in all users of filelock.c functionality.
* src/conf_post.h (EOVERFLOW, SIZE_MAX) [DJGPP < 2.04]: Define.
* src/emacs.c [MSDOS]: Include dosfns.h, to avoid compiler
warnings.
* src/dosfns.h: Provide prototypes for dos_cleanup,
syms_of_dosfns, and init_dosfns.
* src/deps.mk (atimer.o): Depend on msdos.h.
(emacs.o): Depend on dosfns.h.
* src/atimer.c [MSDOS]: Include msdos.h, to avoid compiler
warnings.
* lisp/window.el (window--adjust-process-windows): Skip the body
if 'process-list' is not available. This avoids failure to start
up on MS-DOS.
* lisp/vc/diff.el (diff-no-select): Test 'make-process', not
'start-process', as the latter is now available on all platforms.
* lisp/textmodes/ispell.el (ispell-async-processp): Replace
'start-process' with 'make-process' in a comment.
* lisp/term/internal.el (IT-unicode-translations): Modify and add
a few translations to display Info files with Unicode markup. Fix
an ancient off-by-one mismatch error with Unicode codepoints.
* lisp/progmodes/compile.el (compilation-start): Test
'make-process', not 'start-process', as the latter is now
available on all platforms.
* lisp/man.el (Man-build-man-command, Man-getpage-in-background):
Test 'make-process', not 'start-process', as the latter is now
available on all platforms.
* lisp/international/mule-cmds.el (set-coding-system-map): Test
'make-process', not 'start-process', as the latter is now
available on all platforms.
* lisp/eshell/esh-cmd.el (eshell-do-pipelines-synchronously): Doc
fix.
(eshell-execute-pipeline): Test 'make-process', not
'start-process', as the latter is now available on all platforms.
src/unexcoff.c [MSDOS]: Include libc/atexit.h.
(copy_text_and_data): Zero out the atexit chain pointer before
dumping Emacs.
src/termhooks.h (encode_terminal_code): Update prototype.
src/term.c (encode_terminal_code) [DOS_NT]: Make it externally
visible for all DOS_NT ports, not just WINDOWSNT.
(syms_of_term) [!MSDOS]: Don't define 'tty-menu-*' symbols on MSDOS.
src/sysdep.c (emacs_sigaction_init, init_signals): Don't use SIGCHLD
unless it is defined.
(emacs_pipe) [MSDOS]: Redirect to 'pipe'.
src/process.c (close_on_exec, accept4, process_socket): Move into
the "ifdef subprocesses" part.
(catch_child_signal): Condition by "ifdef subprocesses".
(syms_of_process) <Qinternal_default_process_sentinel>
<Qinternal_default_process_filter>: Condition by "ifdef subprocesses".
src/msdos.h: Add prototypes for new functions.
(EINPROGRESS): Define.
(O_CLOEXEC): Define to zero.
src/msdos.c (check_window_system): Remove unnecessary an
incompatible duplicate function.
(sys_opendir, readlinkat, faccessat, fstatat, unsetenv): New
functions in support of new functionality.
src/menu.c (single_menu_item): Add visual indication of submenu
also for menus on MSDOS frames.
(Fx_popup_menu) [!MSDOS]: Do not call tty_menu_show on MSDOS.
src/lisp.h (CHECK_PROCESS) [!subprocesses]: Do not define
when async subprocesses aren't supported.
src/font.h (FONT_WIDTH) [MSDOS]: MSDOS-specific definition.
src/emacs.c (close_output_streams): Zero out errno before calling
close_stream.
src/dired.c [MSDOS]: Include msdos.h.
src/conf_post.h (opendir) [MSDOS]: Redirect to sys_opendir.
(DATA_START) [MSDOS]: Define.
(SYSTEM_PURESIZE_EXTRA) [MSDOS]: Enlarge by 25K.
src/callproc.c (block_child_signal, unblock_child_signal) [MSDOS]:
Ifdef away for MSDOS.
(record_kill_process) [MSDOS]: Ifdef away the entire body for MSDOS.
(call_process_cleanup) [MSDOS]: Ifdef away portions not relevant
for MSDOS.
(call_process) [MSDOS]: Fix call sequence of dostounix_filename.
Use temporary file template that is compatible with mkostemp.
Move vfork-related portions under #ifndef MSDOS.
(syms_of_callproc): Unify templates of MSDOS and WINDOWSNT.
lisp/term/pc-win.el (x-list-fonts, x-get-selection-value): Provide
doc strings, as required by snarf-documentation.
msdos/sedlisp.inp:
msdos/sedlibmk.inp:
msdos/sedleim.inp:
msdos/sed3v2.inp:
msdos/sed2v2.inp:
msdos/sed1v2.inp: Update Sed scripts for Emacs 24.4.
msdos/inttypes.h: Add PRIdMAX.
msdos/INSTALL: Update for Emacs 24.4.
msdos/sedadmin.inp: New file.
msdos/sed1v2.inp: In the recipe for $(leimdir)/leim-list.el, edit the
prerequisites to be "temacs$(EXEEXT) $(BOOTSTRAPEMACS)", to avoid
the need to rebuild $(bootstrap_exe), which requires a Unixy shell
via lisp/Makefile.in's "update-subdirs" command.
msdos/sedlibmk.inp (am_libgnu_a_OBJECTS): Adjust the removal of
careadlinkat.$(OBJEXT) to the changes in lib/Makefile.in.
msdos/sed2v2.inp (DATA_START, GC_SETJMP_WORKS, HAVE_MENUS)
(HAVE_MOUSE): Edit for DJGPP, according to what was previously
done on src/s/msdos.h.
msdos/gmalloc.c (GMALLOC_INHIBIT_VALLOC): Don't reference.
src/s/msdos.h (BSD_SYSTEM, DATA_START, GC_SETJMP_WORKS, HAVE_MOUSE)
(HAVE_MENUS): Don't define, defined by editing config.in with
msdos/sed2v2.inp.
(GMALLOC_INHIBIT_VALLOC): Don't define.
(MODE_LINE_BINARY_TEXT): Remove, not used anymore.
msdos/mainmake.v2 (bootstrap-clean): Do a maintainer-clean in lib, not
bootstrap-clean (which doesn't exist).
msdos/inttypes.h (PRIuMAX) [__DJGPP__ < 2.04]: Define to "llu".
msdos/sedleim.inp (MKDIR_P): Edit to DOS "md" command.
msdos/sed1v2.inp: (LIB_CLOCK_GETTIME): Edit to empty.
Remove lines that invoke PAXCTL.
(clean): Fix recipe not to run Unixy shell commands.
msdos/sed2v2.inp (GETTIMEOFDAY_TIMEZONE): Edit to 'struct timezone'.
(HAVE_STRNCASECMP): Edit to 1.
msdos/sed3v2.inp (LIB_CLOCK_GETTIME): Edit to empty.
(C_SWITCH_SYSTEM): Add "-I../msdos".
msdos/sedlibmk.inp (GNULIB_GETTIMEOFDAY, GNULIB_PSELECT)
(GNULIB_SELECT, HAVE_STRUCT_TIMEVAL, HAVE_SYS_SELECT_H)
(HAVE_SYS_TIME_H, NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H)
(NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H, NEXT_SYS_SELECT_H)
(NEXT_SYS_TIME_H, REPLACE_GETTIMEOFDAY, REPLACE_PSELECT)
(REPLACE_STRUCT_TIMEVAL): Edit to appropriate values.
(BUILT_SOURCES): Edit out sys/select.h and sys/time.h.
(mostlyclean-local, distclean-generic): Fix recipe not to run
Unixy shell commands.
src/sysselect.h [DOS_NT]: Don't include sys/select.h.
src/s/ms-w32.h (select, pselect): Don't define here, they are
defined in sysselect.h
src/sysselect.h (pselect) [!HAVE_PSELECT]: Redirect to sys_select.
src/sysdep.c: Don't include dos.h and dosfns.h.
src/process.c (sys_select):
src/msdos.c (sys_select): Accept one more argument and ignore it.
src/msdos.c (event_timestamp, sys_select): Use gnulib's gettime;
adapt data types and code to that.
src/dosfns.c:
src/msdos.c (gettime, settime): Define away the prototypes in dos.h,
which clashes with the gnulib function of the same name.
lisp/emacs-lisp/timer.el (timer-until): Subtract results of
float-time, instead of taking float-time of the result of
time-subtract, since float-time signals an error for negative time
arguments.
msdos/sedleim.inp (RUN_EMACS): Replace BUILT_EMACS with EMACS.
Remove stale editing of "else make quail".
(.PHONY, compile-targets): Remove targets.
(compile-main): Edit into something that can be done without
requiring a Unixy shell.
(bootstrap-clean): Likewise: edit to not require $(setwins).
msdos/sed1v2.inp: Edit "cd $(leimdir) && $(MAKE) ..." into the
equivalent "$(MAKE) $(MFLAGS) -C $(leimdir) ..." command.
This is the only thing left that uses it.
* configure.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
* src/Makefile.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
* lwlib/Makefile.in (C_SWITCH_X_SYSTEM): Remove.
(ALL_CFLAGS): Remove C_SWITCH_X_SYSTEM.
* oldXMenu/Makefile.in (C_SWITCH_X_SYSTEM): Remove.
(ALL_CFLAGS): Remove C_SWITCH_X_SYSTEM.
* msdos/sedlibmk.inp, msdos/sed1v2.inp:
GNUSTEP_CFLAGS replaces C_SWITCH_X_SYSTEM.
msdos/mainmake.v2 (boot): Condition the value on the existence of
autogen/README, not admin/admin.el, since the latter is now part
of the release tarball.
(install): Don't copy lib-src/fns.el, as that file is no longer
generated in that directory.
msdos/sed1v2.inp (LIB_PTHREAD, LIB_PTHREAD_SIGMASK): Edit to empty.
(SETTINGS_CFLAGS, SETTINGS_LIBS): Edit these instead of
GCONF_CFLAGS and GCONF_LIBS.
msdos/sedlibmk.inp (ALLOCA_H, AR, ARFLAGS, GNULIB_CHDIR, GNULIB_DUP)
(GNULIB_FDATASYNC, GNULIB_FDOPEN, GNULIB_FSTAT, GNULIB_PCLOSE)
(GNULIB_PTHREAD_SIGMASK, GNULIB_RAISE, GNULIB_SIGACTION)
(GNULIB_SIGPROCMASK, GNULIB_SIGNAL_H_SIGPIPE, HAVE_FDATASYNC)
(HAVE_PCLOSE, HAVE_POPEN, HAVE_POSIX_SIGNALBLOCKING)
(HAVE_PTHREAD_SIGMASK, HAVE_RAISE, HAVE_SIGACTION)
(HAVE_SIGHANDLER_T, HAVE_SIGINFO_T, HAVE_SIGSET_T)
(HAVE_STRUCT_SIGACTION_SA_SIGACTION)
(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T, LIB_PTHREAD)
(LIB_PTHREAD_SIGMASK, NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H)
(NEXT_SIGNAL_H, REPLACE_FDOPEN, REPLACE_PTHREAD_SIGMASK)
(REPLACE_RAISE): New edits.
(gl_LIBOBJS): Remove md5.o, filemode.o, and sha1.o. Add
pthread_sigmask.o.
(@GL_GENERATE_ALLOCA_H_TRUE@, @GL_GENERATE_ALLOCA_H_FALSE@): Edit
to comment out unneeded lines.
(warn-on-use.h): Edit the recipe commands to work with DJGPP
without requiring a Unixy shell.
msdos/inttypes.h (strtoimax) [DJGPP < 2.04]: New macro.
msdos/sed2v2.inp (HAVE_ALLOCA, HAVE_DECL_STRTOLL, HAVE_DECL_STRTOIMAX)
(HAVE_STRTOLL, HAVE_SIGSET_T, HAVE_SNPRINTF): New edits.
.bzrignore: Add ./GNUMakefile.unix.
config.bat: Rename GNUMakefile, so it is not run on MS-DOS.
Rename signal.in.h and alloca.in.h.
src/sysdep.c (snprintf) [EOVERFLOW]: If EOVERFLOW is not defined,
use EDOM.
msdos/sed1v2.inp: Edit "make-docfile -d FOO" commands to chdir back to
src/. Make editing of RUN_TEMACS commands less sensitive to
leading whitespace.
msdos/sedlibmk.inp (gl_LIBOBJS): Add sha1.o.
config.bat: Concatenate lisp.mk onto the end of src/Makefile.
msdos/sed1v2.inp (make-docfile commands): Recognize only if the line
begins with a TAB. Use $(etc) rather than a literal "../etc".
(`sed SED-COMMAND $(srcdir)/lisp.mk`): Edit to replace with "$(lisp).
(@lisp_frag@): Edit out.
msdos/sedlibmk.inp (GNULIB_GROUP_MEMBER, HAVE_GROUP_MEMBER): Edit to
zero.
src/callproc.c (Fcall_process) [MSDOS]: Fix arguments to
report_file_error introduced by the change from 2011-05-07.
See discussion in http://debbugs.gnu.org/8302
* configure.in (NS_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT)
(WINDOW_SUPPORT): Remove output variables that are no longer used.
* lib-src/makefile.w32-in (echolisp): Remove rule that is no longer needed.
(clean): No more echolisp.tmp.
* .bzrignore: Remove lib-src/echolisp.tmp.
* lisp/emacs-lisp/autoload.el (batch-update-autoloads):
Set autoload-excludes by parsing lisp/loadup.el rather than Makefiles.
* lisp/loadup.el: Update commentary.
* msdos/sed1x.inp (TOOLTIP_SUPPORT, WINDOW_SUPPORT):
* msdos/sed1v2.inp (MSDOS_SUPPORT, NS_SUPPORT, MOUSE_SUPPORT)
(TOOLTIP_SUPPORT, WINDOW_SUPPORT): No need to edit these any more.
* src/Makefile.in (MSDOS_SUPPORT_REAL, MSDOS_SUPPORT, NS_SUPPORT)
(REAL_MOUSE_SUPPORT, GPM_MOUSE_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT)
(BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT, WINDOW_SUPPORT): Remove.
(lisp): Set the order to that of loadup.el.
(shortlisp): Make it a copy of $lisp.
(SOME_MACHINE_LISP): Remove.
($(etc)/DOC): Depend just on $lisp, not $SOME_MACHINE_LISP too.
Use just $shortlisp, not $SOME_MACHINE_LISP too.
msdos/inttypes.h: New file.
msdos/sed2v2.inp (HAVE_DECL_STRTOULL, HAVE_DECL_STRTOUMAX)
(HAVE_STRTOULL, HAVE_STRTOULL): Define to 1.
src/sedlibmk.inp (BUILT_SOURCES): Edit out inttypes.h.
src/sed1v2.inp (CPPFLAGS): Edit to "-I../msdos".
Add ../msdos/inttypes.h to prerequisites of lread.o.
src/dosfns.c (Fint86, Fdos_memget, Fdos_memput): Use `ASIZE (FOO)'
rather than `XVECTOR (FOO)->size'.
src/termcap.c (tputs): Don't declare baud_rate.
msdos/sedlibmk.inp (gl_LIBOBJS): Add getloadavg.o.
msdos/sedleim.inp (RUN_EMACS): Rename from RUN-EMACS.
(BUILT_EMACS): Rename from BUILT-EMACS.
msdos/sed6.inp (MAKEINFO): Edit to "makeinfo".
(ENVADD): Adjust to MAKEINFO_OPTS.
(texinputdir): Don't edit.
msdos/sed2v2.inp (my_strftime): Edit to nstrftime.
msdos/sed1v2.inp (LIBOBJS): Edit to empty.
($(libsrc)/make-docfile): Two new edits, one each for every
invocation of make-docfile.
(move-if-change): Fix edit.
Remove some unused switches from $(ALL_CFLAGS), to make the GCC
command line shorter.
src/unexcoff.c (make_hdr): Fix prototype according to changes in
2010-10-03T13:59:56Z!dann@ics.uci.edu.
msdos/sed1v2.inp: Use $(..) instead of ${..} in all edit commands.
Needed because of changes in 2010-10-10T14:43:05Z!dann@ics.uci.edu.
msdos/sed6.inp (mkinfodir): Edit to avoid Unix shell-isms. Needed
because of changes in 2010-10-09T18:31:12Z!rgm@gnu.org.
* configure.in (PROFILING_LDFLAGS): Do not define, remove all uses.
* lib-src/Makefile.in (PROFILING_LDFLAGS): Remove, not needed.
* msdos/sed1v2.inp (PROFILING_LDFLAGS):
* msdos/sed3v2.inp (PROFILING_LDFLAGS): Remove, not defined anymore.
* src/Makefile.in (temacs): Use $(ALL_CFLAGS) on the link line.
(PROFILING_LDFLAGS): Remove, not needed anymore.
msdos/sed1v2.inp (C_WARNINGS_SWITCH, PROFILING_CFLAGS, PROFILING_LDFLAGS):
Edit to empty.
msdos/sed3v2.inp(C_WARNINGS_SWITCH, PROFILING_CFLAGS, PROFILING_LDFLAGS):
Edit to empty.
src/process.c (setup_process_coding_systems): Move to the part
shared by non-subprocesses systems, and make its body empty when
subprocesses is not defined.
(close_process_descs): Move to the part shared by non-subprocesses
systems.
sed1v2.inp (stamp-oldxmenu): Don't edit out in `temacs:' target,
which doesn't exist.
sed2v2.inp (HAVE_MEMCPY): Don't edit, already defined on <sys/config.h>.
* configure.in (C_OPTIMIZE_SWITCH, CANNOT_DUMP, SYSTEM_MALLOC):
(USE_MMAP_FOR_BUFFERS, C_WARNING_SWITCH): Set with shell, not cpp.
(LIBX): Remove, just use -lX11 in the one place this was used.
(cannot_dump): Replace with CANNOT_DUMP.
* src/Makefile.in (CANNOT_DUMP): Update for configure name change.
* src/s/freebsd.h (USE_MMAP_FOR_BUFFERS):
* src/s/irix6-5.h (USE_MMAP_FOR_BUFFERS):
* src/s/darwin.h (SYSTEM_MALLOC):
* src/s/sol2-10.h (SYSTEM_MALLOC): Move to configure.
* src/m/alpha.h: Remove old comment.
* src/s/aix4-2.h: Update comment.
* src/s/template.h: Remove USE_MMAP_FOR_BUFFERS.
* msdos/sed1v2.inp (CANNOT_DUMP): Update for configure name change.
* admin/CPP-DEFINES: Remove USE_MMAP_FOR_BUFFERS, CANNOT_DUMP.
* etc/DEBUG: Update SYSTEM_MALLOC and CANNOT_DUMP references.
Some re-filling.
config.bat: Remove white space around "+" in COPY commands.
msods/mainmake.v2 (version): Use emacs_version[] in src/emacs.c
instead of lisp/version.el (see 2010-05-15T21:11:37Z!raeburn@raeburn.org).
msdos/sed1v2.inp (MKDEPDIR): Edit to empty.
Delete lines in rules that invoke $(MKDEPDIR).
Fix editing rules that begin with "cd ../lisp".
Edit out sh if-then-else-fi constructs that test ${CANNOT_DUMP}.
Edit out "|| exit ;\" constructs in emacs${EXEEXT} rule.
* configure.in (NS_IMPL_GNUSTEP_INC, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS)
(GNUSTEP_MAKEFILES): Remove.
(LD_SWITCH_SYSTEM_TEMACS): Move NS_IMPL_GNUSTEP_TEMACS_LDFLAGS
stuff to here.
* src/Makefile.in (NS_IMPL_GNUSTEP_INC, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS):
Remove.
(TEMACS_LDFLAGS): Do not use NS_IMPL_GNUSTEP_TEMACS_LDFLAGS.
* msdos/sed1v2.inp (NS_IMPL_GNUSTEP_INC, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS):
No longer present.
Comments:
See http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00846.html.
Nothing from gui.make was used at all in src/Makefile.in. The only
thing used from base.make was $CONFIG_SYSTEM_LIBS, but because we only
set shared _after_ sourcing base.make, it was always empty. We can
move the remaining flags, set in configure, to the standard variable
LD_SWITCH_SYSTEM_TEMACS.