aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2012-11-03 15:48:33 +0200
committerEli Zaretskii2012-11-03 15:48:33 +0200
commitb3cf17f69548c28d21942cc92a7b65e258857f85 (patch)
tree2b4a5cc13241933632da0b26395c6785eeb797cb /src
parent67b50ba47bcf46bd8a699fa0c1f2af1cce3f2338 (diff)
downloademacs-b3cf17f69548c28d21942cc92a7b65e258857f85.tar.gz
emacs-b3cf17f69548c28d21942cc92a7b65e258857f85.zip
Adapt the MSDOS build to the latest changes on mainline.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog9
-rw-r--r--src/conf_post.h9
-rw-r--r--src/msdos.c15
3 files changed, 30 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 8b7c1d9113d..72e3d8ea741 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,14 @@
12012-11-03 Eli Zaretskii <eliz@gnu.org> 12012-11-03 Eli Zaretskii <eliz@gnu.org>
2 2
3 * msdos.c (msdos_abort): Rename from emacs_abort, and make static.
4 (msdos_fatal_signal): New function.
5 (XMenuActivate): Adjust the call to kbd_buffer_events_waiting to
6 its argument list.
7
8 * conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Define to "inline"
9 for GCC versions before 4.
10 (emacs_raise): Define to call msdos_fatal_signal.
11
3 * xdisp.c (init_from_display_pos): Fix initialization of the bidi 12 * xdisp.c (init_from_display_pos): Fix initialization of the bidi
4 iterator when starting in the middle of a display or overlay 13 iterator when starting in the middle of a display or overlay
5 string. (Bug#12745) 14 string. (Bug#12745)
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 */
110#else 110#else
111# define lstat stat 111# define lstat stat
112#endif 112#endif
113/* The "portable" definition of _GL_INLINE on config.h does not work
114 with DJGPP GCC 3.4.4: it causes unresolved externals in sysdep.c,
115 although lib/execinfo.h is included and the inline functions there
116 are visible. */
117#if __GNUC__ < 4
118# define _GL_EXECINFO_INLINE inline
119#endif
113/* End of gnulib-related stuff. */ 120/* End of gnulib-related stuff. */
114 121
122#define emacs_raise(sig) msdos_fatal_signal (sig)
123
115#ifndef HAVE_SETPGID 124#ifndef HAVE_SETPGID
116# ifdef USG 125# ifdef USG
117# define setpgid(pid, pgid) setpgrp () 126# define setpgid(pid, pgid) setpgrp ()
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,
3305 Emacs will process them after we return and surprise the user. */ 3305 Emacs will process them after we return and surprise the user. */
3306 discard_mouse_events (); 3306 discard_mouse_events ();
3307 mouse_clear_clicks (); 3307 mouse_clear_clicks ();
3308 if (!kbd_buffer_events_waiting (1)) 3308 if (!kbd_buffer_events_waiting ())
3309 clear_input_pending (); 3309 clear_input_pending ();
3310 /* Allow mouse events generation by dos_rawgetc. */ 3310 /* Allow mouse events generation by dos_rawgetc. */
3311 mouse_preempted--; 3311 mouse_preempted--;
@@ -4214,8 +4214,8 @@ init_gettimeofday (void)
4214} 4214}
4215#endif 4215#endif
4216 4216
4217void 4217static void
4218emacs_abort (void) 4218msdos_abort (void)
4219{ 4219{
4220 dos_ttcooked (); 4220 dos_ttcooked ();
4221 ScreenSetCursor (10, 0); 4221 ScreenSetCursor (10, 0);
@@ -4233,6 +4233,15 @@ emacs_abort (void)
4233} 4233}
4234 4234
4235void 4235void
4236msdos_fatal_signal (int sig)
4237{
4238 if (sig == SIGABRT)
4239 msdos_abort ();
4240 else
4241 raise (sig);
4242}
4243
4244void
4236syms_of_msdos (void) 4245syms_of_msdos (void)
4237{ 4246{
4238 recent_doskeys = Fmake_vector (make_number (NUM_RECENT_DOSKEYS), Qnil); 4247 recent_doskeys = Fmake_vector (make_number (NUM_RECENT_DOSKEYS), Qnil);