summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2012-11-03 15:58:33 +0200
committerEli Zaretskii <eliz@gnu.org>2012-11-03 15:58:33 +0200
commit858f0f24b1433dcda709a33e932775e3aa96a786 (patch)
tree0b715c63bb71454cad1ac86c751d5845c4ea0508
parent12fd5ee1ae617b212e4d00e2ed4c196d3656f615 (diff)
parent1d4341f98813e8f2f4179e1d0a414b2f16c880eb (diff)
downloademacs-858f0f24b1433dcda709a33e932775e3aa96a786.tar.gz
Adapt MSDOS port to latest changes.
config.bat: Copy lib/execinfo.in.h to lib/execinfo.in-h if needed. msdos/sedlibmk.inp: Sync with changes in lib/Makefile.in. (HAVE_DECL_ENVIRON, GNULIB_ENVIRON): Edit to require declaration through lib/unistd.h. msdos/sed1v2.inp: Sync with changes in src/Makefile.in. msdos/sed2v2.inp: Sync with changes in src/config.in. src/lisp.mk: Adjust comments to the fact that term/internal is now loaded from loadup.el. src/msdos.c (msdos_abort): Rename from emacs_abort, and make static. (msdos_fatal_signal): New function. (XMenuActivate): Adjust the call to kbd_buffer_events_waiting to its argument list. src/conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Define to "inline" for GCC versions before 4. (emacs_raise): Define to call msdos_fatal_signal. lisp/term/pc-win.el: Don't load term/internal from here. lisp/loadup.el: Load term/internal from here.
-rw-r--r--ChangeLog4
-rw-r--r--config.bat1
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/loadup.el1
-rw-r--r--lisp/term/pc-win.el2
-rw-r--r--msdos/ChangeLog10
-rw-r--r--msdos/sed1v2.inp19
-rw-r--r--msdos/sed2v2.inp12
-rw-r--r--msdos/sedlibmk.inp8
-rw-r--r--src/ChangeLog24
-rw-r--r--src/conf_post.h9
-rw-r--r--src/lisp.mk6
-rw-r--r--src/msdos.c15
13 files changed, 84 insertions, 33 deletions
diff --git a/ChangeLog b/ChangeLog
index d4aa9c935ea..a139c0dfb6d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2012-11-03 Eli Zaretskii <eliz@gnu.org>
+
+ * config.bat: Copy lib/execinfo.in.h to lib/execinfo.in-h if needed.
+
2012-10-26 Glenn Morris <rgm@gnu.org>
* Makefile.in (EMACS_NAME): New variable.
diff --git a/config.bat b/config.bat
index d3443d450d6..2637fe5e4ec 100644
--- a/config.bat
+++ b/config.bat
@@ -264,6 +264,7 @@ cd lib
Rem Rename files like djtar on plain DOS filesystem would.
If Exist build-aux\snippet\c++defs.h update build-aux/snippet/c++defs.h build-aux/snippet/cxxdefs.h
If Exist alloca.in.h update alloca.in.h alloca.in-h
+If Exist execinfo.in.h update execinfo.in.h execinfo.in-h
If Exist getopt.in.h update getopt.in.h getopt.in-h
If Exist stdalign.in.h update stdalign.in.h stdalign.in-h
If Exist stdbool.in.h update stdbool.in.h stdbool.in-h
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 4844872c73a..993d4a2c4a0 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2012-11-03 Eli Zaretskii <eliz@gnu.org>
+
+ * term/pc-win.el: Don't load term/internal from here.
+
+ * loadup.el: Load term/internal from here.
+
2012-11-03 Fabián Ezequiel Gallina <fgallina@cuca>
* progmodes/python.el (inferior-python-mode): Fix hang in
diff --git a/lisp/loadup.el b/lisp/loadup.el
index e5f2cb014d3..f017295c33b 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -257,6 +257,7 @@
(load "dos-vars")
;; Don't load term/common-win: it isn't appropriate for the `pc'
;; ``window system'', which generally behaves like a terminal.
+ (load "term/internal")
(load "term/pc-win")
(load "ls-lisp")
(load "disp-table"))) ; needed to setup ibm-pc char set, see internal.el
diff --git a/lisp/term/pc-win.el b/lisp/term/pc-win.el
index b460e3b8a14..9fd3bf14fe1 100644
--- a/lisp/term/pc-win.el
+++ b/lisp/term/pc-win.el
@@ -40,8 +40,6 @@
(error "%s: Loading pc-win.el but not compiled for MS-DOS"
(invocation-name)))
-(load "term/internal" nil t)
-
(declare-function msdos-remember-default-colors "msdos.c")
(declare-function w16-set-clipboard-data "w16select.c")
(declare-function w16-get-clipboard-data "w16select.c")
diff --git a/msdos/ChangeLog b/msdos/ChangeLog
index 4d90e8356e3..32083380dbc 100644
--- a/msdos/ChangeLog
+++ b/msdos/ChangeLog
@@ -1,3 +1,13 @@
+2012-11-03 Eli Zaretskii <eliz@gnu.org>
+
+ * sedlibmk.inp: Sync with changes in lib/Makefile.in.
+ (HAVE_DECL_ENVIRON, GNULIB_ENVIRON): Edit to require declaration
+ through lib/unistd.h.
+
+ * sed1v2.inp: Sync with changes in src/Makefile.in.
+
+ * sed2v2.inp: Sync with changes in src/config.in.
+
2012-10-08 Eli Zaretskii <eliz@gnu.org>
* sed1v2.inp (W32_LIBS, W32_OBJ): Edit to empty.
diff --git a/msdos/sed1v2.inp b/msdos/sed1v2.inp
index 553d69038fe..84f24bf2c1a 100644
--- a/msdos/sed1v2.inp
+++ b/msdos/sed1v2.inp
@@ -55,11 +55,11 @@ s/\.h\.in/.h-in/
/^LIB_STANDARD *=/s/@LIB_STANDARD@//
/^LIB_MATH *=/s/@LIB_MATH@/-lm/
/^LIB_PTHREAD *=/s/@LIB_PTHREAD@//
-/^LIBTIFF *=/s/@LIBTIFF@//
-/^LIBJPEG *=/s/@LIBJPEG@//
-/^LIBPNG *=/s/@LIBPNG@//
-/^LIBGIF *=/s/@LIBGIF@//
-/^LIBXPM *=/s/@LIBXPM@//
+s/ *@LIBTIFF@//
+s/ *@LIBJPEG@//
+s/ *@LIBPNG@//
+s/ *@LIBGIF@//
+s/ *@LIBXPM@//
/^XFT_LIBS *=/s/@XFT_LIBS@//
/^FONTCONFIG_CFLAGS *=/s/@FONTCONFIG_CFLAGS@//
/^FONTCONFIG_LIBS *=/s/@FONTCONFIG_LIBS@//
@@ -95,10 +95,8 @@ s/\.h\.in/.h-in/
/^LIBXML2_CFLAGS *=/s/@LIBXML2_CFLAGS@//
/^WIDGET_OBJ *=/s/@WIDGET_OBJ@//
/^CYGWIN_OBJ *=/s/@CYGWIN_OBJ@//
+/^WINDOW_SYSTEM_OBJ *=/s/@WINDOW_SYSTEM_OBJ@//
/^MSDOS_OBJ *=/s/= */= dosfns.o msdos.o w16select.o/
-/^ns_appdir *=/s/@ns_appdir@//
-/^ns_appbindir *=/s/@ns_appbindir@//
-/^ns_appsrc *=/s/@ns_appsrc@//
/^NS_OBJ *=/s/@NS_OBJ@//
/^NS_OBJC_OBJ *=/s/@NS_OBJC_OBJ@//
/^GNU_OBJC_CFLAGS*=/s/@GNU_OBJC_CFLAGS@//
@@ -107,6 +105,7 @@ s/\.h\.in/.h-in/
/^LIB_PTHREAD_SIGMASK *=/s/@[^@\n]*@//
/^LIB_CLOCK_GETTIME *=/s/@[^@\n]*@//g
/^LIB_TIMER_TIME *=/s/@[^@\n]*@//g
+/^LIB_EXECINFO *=/s/@[^@\n]*@//g
/^LIBGNUTLS_LIBS *=/s/@[^@\n]*@//
/^LIBGNUTLS_CFLAGS *=/s/@[^@\n]*@//
/^GETLOADAVG_LIBS *=/s/@[^@\n]*@//
@@ -143,7 +142,7 @@ s/\.h\.in/.h-in/
/^ *test "X\$(PAXCTL)" = X/d
/^ *test "\$(CANNOT_DUMP)" = "yes"/d
/^ if test "\$(CANNOT_DUMP)" =/,/^ else /d
-/^ -\{0,1\} *ln -/s/bootstrap-emacs\$(EXEEXT).*$/bootstrap-emacs$(EXEEXT)/
+/^ -\{0,1\} *ln /s/bootstrap-emacs\$(EXEEXT).*$/bootstrap-emacs$(EXEEXT)/
/^ fi/d
/^ *LC_ALL=C \$(RUN_TEMACS)/i\
stubedit temacs.exe minstack=1024k
@@ -170,7 +169,7 @@ s/^ [^ ]*move-if-change / update /
/^ #/d
/^ cd.*make-docfile/s!$!; cd ../src!
/^ @: /d
-/^ -\{0,1\} *ln -/s/ln -f/cp -pf/
+/^ -\{0,1\} *ln /s/ln /cp /
/^[ ]touch /s/touch/djecho $@ >/
s/@YMF_PASS_LDFLAGS@/flags/
s/@lisp_frag@//
diff --git a/msdos/sed2v2.inp b/msdos/sed2v2.inp
index 25bc5ed12fd..ef0b7e5b427 100644
--- a/msdos/sed2v2.inp
+++ b/msdos/sed2v2.inp
@@ -30,26 +30,25 @@
#ifndef MSDOS\
#define MSDOS\
#endif
+/^#undef COPYRIGHT *$/s/^.*$/#define COPYRIGHT "Copyright (C) 2012 Free Software Foundation, Inc."/
+/^#undef DIRECTORY_SEP *$/s!^.*$!#define DIRECTORY_SEP '/'!
/^#undef DOS_NT *$/s/^.*$/#define DOS_NT/
/^#undef FLOAT_CHECK_DOMAIN *$/s/^.*$/#define FLOAT_CHECK_DOMAIN/
/^#undef HAVE_ALLOCA *$/s/^.*$/#define HAVE_ALLOCA 1/
-/^#undef HAVE_INVERSE_HYPERBOLIC *$/s/^.*$/#define HAVE_INVERSE_HYPERBOLIC/
/^#undef HAVE_SETITIMER *$/s/^.*$/#define HAVE_SETITIMER 1/
/^#undef HAVE_STRUCT_UTIMBUF *$/s/^.*$/#define HAVE_STRUCT_UTIMBUF 1/
/^#undef LOCALTIME_CACHE *$/s/^.*$/#define LOCALTIME_CACHE 1/
/^#undef HAVE_TZSET *$/s/^.*$/#define HAVE_TZSET 1/
-/^#undef HAVE_LOGB *$/s/^.*$/#define HAVE_LOGB 1/
-/^#undef HAVE_FREXP *$/s/^.*$/#define HAVE_FREXP 1/
-/^#undef HAVE_FMOD *$/s/^.*$/#define HAVE_FMOD 1/
/^#undef HAVE_RINT *$/s/^.*$/#define HAVE_RINT 1/
/^#undef HAVE_C99_STRTOLD *$/s/^.*$/#define HAVE_C99_STRTOLD 1/
-/^#undef HAVE_CBRT *$/s/^.*$/#define HAVE_CBRT 1/
/^#undef HAVE_DIFFTIME *$/s/^.*$/#define HAVE_DIFFTIME 1/
/^#undef HAVE_FPATHCONF *$/s/^.*$/#define HAVE_FPATHCONF 1/
/^#undef HAVE_MEMSET *$/s/^.*$/#define HAVE_MEMSET 1/
/^#undef HAVE_MEMCMP *$/s/^.*$/#define HAVE_MEMCMP 1/
/^#undef HAVE_MEMMOVE *$/s/^.*$/#define HAVE_MEMMOVE 1/
+/^#undef HAVE_SETPGID *$/s/^.*$/#define HAVE_SETPGID 1/
/^#undef HAVE_SETRLIMIT *$/s/^.*$/#define HAVE_SETRLIMIT 1/
+/^#undef HAVE_SIGSETJMP *$/s/^.*$/#define HAVE_SIGSETJMP 1/
/^#undef HAVE_GETRUSAGE *$/s/^.*$/#define HAVE_GETRUSAGE 1/
/^#undef GETTIMEOFDAY_TIMEZONE *$/s/^.*$/#define GETTIMEOFDAY_TIMEZONE struct timezone/
/^#undef HAVE_TM_GMTOFF *$/s/^.*$/#define HAVE_TM_GMTOFF 1/
@@ -70,6 +69,7 @@
/^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/
/^#undef PACKAGE_TARNAME/s/^.*$/#define PACKAGE_TARNAME ""/
/^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION ""/
+/^#undef PENDING_OUTPUT_COUNT/s/^.*$/#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_ptr - (FILE)->_base)/
/^#undef VERSION/s/^.*$/#define VERSION "24.2.50"/
/^#undef SYSTEM_TYPE/s/^.*$/#define SYSTEM_TYPE "ms-dos"/
/^#undef HAVE_DECL_GETENV/s/^.*$/#define HAVE_DECL_GETENV 1/
@@ -95,8 +95,6 @@
/^#undef NULL_DEVICE *$/s/^.*$/#define NULL_DEVICE "nul"/
/^#undef SEPCHAR *$/s/^.*$/#define SEPCHAR '\;'/
/^#undef USER_FULL_NAME *$/s/^.*$/#define USER_FULL_NAME (getenv ("NAME"))/
-/^#undef _setjmp/s/^.*$/#define _setjmp setjmp/
-/^#undef _longjmp/s/^.*$/#define _longjmp longjmp/
/^#undef inline/s/^.*$/#define inline __inline__/
/^#undef my_strftime/s/^.*$/#define my_strftime nstrftime/
/^#undef restrict/s/^.*$/#define restrict __restrict/
diff --git a/msdos/sedlibmk.inp b/msdos/sedlibmk.inp
index 9879947ca45..d723c4bcc28 100644
--- a/msdos/sedlibmk.inp
+++ b/msdos/sedlibmk.inp
@@ -141,6 +141,7 @@ am__cd = cd
/^DEPFLAGS *=/s/@[^@\n]*@/-MMD -MF ${DEPDIR}\/$*.d/
/^ECHO_N *=/s/@[^@\n]*@/-n/
/^EXEEXT *=/s/@[^@\n]*@/.exe/
+/^EXECINFO_H *=/s/@[^@\n]*@/execinfo.h/
/^GETOPT_H *=/s/@[^@\n]*@/getopt.h/
#
# Gnulib stuff
@@ -165,7 +166,7 @@ am__cd = cd
/^GNULIB_DUP *=/s/@GNULIB_DUP@/0/
/^GNULIB_DUP2 *=/s/@GNULIB_DUP2@/0/
/^GNULIB_DUP3 *=/s/@GNULIB_DUP3@/1/
-/^GNULIB_ENVIRON *=/s/@GNULIB_ENVIRON@/0/
+/^GNULIB_ENVIRON *=/s/@GNULIB_ENVIRON@/1/
/^GNULIB_EUIDACCESS *=/s/@GNULIB_EUIDACCESS@/0/
/^GNULIB_FACCESSAT *=/s/@GNULIB_FACCESSAT@/0/
/^GNULIB_FCHDIR *=/s/@GNULIB_FCHDIR@/0/
@@ -319,7 +320,7 @@ am__cd = cd
/^HAVE_ATOLL *=/s/@HAVE_ATOLL@/0/
/^HAVE_CANONICALIZE_FILE_NAME *=/s/@HAVE_CANONICALIZE_FILE_NAME@/0/
/^HAVE_CHOWN *=/s/@HAVE_CHOWN@/1/
-/^HAVE_DECL_ENVIRON *=/s/@HAVE_DECL_ENVIRON@/1/
+/^HAVE_DECL_ENVIRON *=/s/@HAVE_DECL_ENVIRON@/0/
/^HAVE_DECL_FCHDIR *=/s/@HAVE_DECL_FCHDIR@/0/
/^HAVE_DECL_FDATASYNC *=/s/@HAVE_DECL_FDATASYNC@/0/
/^HAVE_DECL_FPURGE *=/s/@HAVE_DECL_FPURGE@//
@@ -540,6 +541,7 @@ am__cd = cd
/^REPLACE_PREAD *=/s/@REPLACE_PREAD@/0/
/^REPLACE_PRINTF *=/s/@REPLACE_PRINTF@/0/
/^REPLACE_PTHREAD_SIGMASK *=/s/@REPLACE_PTHREAD_SIGMASK@/0/
+/^REPLACE_PTSNAME *=/s/@REPLACE_PTSNAME@/0/
/^REPLACE_PSELECT *=/s/@REPLACE_PSELECT@/0/
/^REPLACE_PTSNAME *=/s/@REPLACE_PTSNAME@/0/
/^REPLACE_PTSNAME_R *=/s/@REPLACE_PTSNAME_R@/0/
@@ -646,6 +648,8 @@ s/@echo /@djecho/
# Fix the recipes for header files
s/^@GL_GENERATE_ALLOCA_H_TRUE@//
s/^@GL_GENERATE_ALLOCA_H_FALSE@/\#/
+s/^@GL_GENERATE_EXECINFO_H_TRUE@//
+s/^@GL_GENERATE_EXECINFO_H_FALSE@/\#/
s/^@GL_GENERATE_STDBOOL_H_TRUE@/\#/
s/^@GL_GENERATE_STDBOOL_H_FALSE@//
s/^@GL_GENERATE_STDALIGN_H_TRUE@//
diff --git a/src/ChangeLog b/src/ChangeLog
index 4d42714f91f..3ae755f3d20 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,16 +1,28 @@
-2012-11-03 Jan Djärv <jan.h.d@swipnet.se>
+2012-11-03 Eli Zaretskii <eliz@gnu.org>
- * widget.c (resize_cb): New function.
- (EmacsFrameRealize): Add resize_cb as event handler (Bug#12733).
- (EmacsFrameResize): Check if all is up to date before changing frame
- size.
+ * lisp.mk: Adjust comments to the fact that term/internal is now
+ loaded from loadup.el.
-2012-11-03 Eli Zaretskii <eliz@gnu.org>
+ * msdos.c (msdos_abort): Rename from emacs_abort, and make static.
+ (msdos_fatal_signal): New function.
+ (XMenuActivate): Adjust the call to kbd_buffer_events_waiting to
+ its argument list.
+
+ * conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Define to "inline"
+ for GCC versions before 4.
+ (emacs_raise): Define to call msdos_fatal_signal.
* xdisp.c (init_from_display_pos): Fix initialization of the bidi
iterator when starting in the middle of a display or overlay
string. (Bug#12745)
+2012-11-03 Jan Djärv <jan.h.d@swipnet.se>
+
+ * widget.c (resize_cb): New function.
+ (EmacsFrameRealize): Add resize_cb as event handler (Bug#12733).
+ (EmacsFrameResize): Check if all is up to date before changing frame
+ size.
+
2012-11-01 Eli Zaretskii <eliz@gnu.org>
* w32proc.c (getpgrp, setpgid): New functions. (Bug#12776)
diff --git a/src/conf_post.h b/src/conf_post.h
index 6056821d4a7..da3c3bd58b0 100644
--- a/src/conf_post.h
+++ b/src/conf_post.h
@@ -110,8 +110,17 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
#else
# define lstat stat
#endif
+/* The "portable" definition of _GL_INLINE on config.h does not work
+ with DJGPP GCC 3.4.4: it causes unresolved externals in sysdep.c,
+ although lib/execinfo.h is included and the inline functions there
+ are visible. */
+#if __GNUC__ < 4
+# define _GL_EXECINFO_INLINE inline
+#endif
/* End of gnulib-related stuff. */
+#define emacs_raise(sig) msdos_fatal_signal (sig)
+
#ifndef HAVE_SETPGID
# ifdef USG
# define setpgid(pid, pgid) setpgrp ()
diff --git a/src/lisp.mk b/src/lisp.mk
index 1f459d4d5f1..8c2710110e3 100644
--- a/src/lisp.mk
+++ b/src/lisp.mk
@@ -34,9 +34,9 @@
## that does not have an explicit .el extension, but beware of any
## no-byte-compile ones.
-## Confusingly, term/internal is not in loadup, but is unconditionally
-## loaded by pc-win, which is. Ditto for international/cp51932 and
-## international/eucjp-ms, loaded from language/japanese.
+## Confusingly, international/cp51932 and international/eucjp-ms are
+## unconditionally loaded from language/japanese, instead of being
+## loaded directly from loadup.el; FIXME.
## Note that this list should not include lisp files which might not
## be present, like site-load.el and site-init.el; this makefile
diff --git a/src/msdos.c b/src/msdos.c
index bac6b977fdf..79f0be48892 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -3305,7 +3305,7 @@ XMenuActivate (Display *foo, XMenu *menu, int *pane, int *selidx,
Emacs will process them after we return and surprise the user. */
discard_mouse_events ();
mouse_clear_clicks ();
- if (!kbd_buffer_events_waiting (1))
+ if (!kbd_buffer_events_waiting ())
clear_input_pending ();
/* Allow mouse events generation by dos_rawgetc. */
mouse_preempted--;
@@ -4214,8 +4214,8 @@ init_gettimeofday (void)
}
#endif
-void
-emacs_abort (void)
+static void
+msdos_abort (void)
{
dos_ttcooked ();
ScreenSetCursor (10, 0);
@@ -4233,6 +4233,15 @@ emacs_abort (void)
}
void
+msdos_fatal_signal (int sig)
+{
+ if (sig == SIGABRT)
+ msdos_abort ();
+ else
+ raise (sig);
+}
+
+void
syms_of_msdos (void)
{
recent_doskeys = Fmake_vector (make_number (NUM_RECENT_DOSKEYS), Qnil);