summaryrefslogtreecommitdiff
path: root/src
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 /src
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.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog24
-rw-r--r--src/conf_post.h9
-rw-r--r--src/lisp.mk6
-rw-r--r--src/msdos.c15
4 files changed, 42 insertions, 12 deletions
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);