aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2012-09-04 10:34:54 -0700
committerPaul Eggert2012-09-04 10:34:54 -0700
commit1088b9226e7dac7314dab52ef0696a5f540900cd (patch)
treebfae7d26f4b411f5c6a0ef33cfcd0c526619ee56 /src
parent30934d334e8a67c8992d910428758d5b93e0f04f (diff)
downloademacs-1088b9226e7dac7314dab52ef0696a5f540900cd.tar.gz
emacs-1088b9226e7dac7314dab52ef0696a5f540900cd.zip
Simplify redefinition of 'abort' (Bug#12316).
Do not try to redefine the 'abort' function. Instead, redo the code so that it calls 'emacs_abort' rather than 'abort'. This removes the need for the NO_ABORT configure-time macro and makes it easier to change the abort code to do a backtrace. * configure.ac (NO_ABRT): Remove. * admin/CPP-DEFINES (NO_ABORT): Remove. * nt/inc/ms-w32.h (w32_abort) [HAVE_NTGUI]: Remove. * src/.gdbinit: Just stop at emacs_abort, not at w32_abort or abort. * src/emacs.c (abort) [!DOS_NT && !NO_ABORT]: Remove; sysdep.c's emacs_abort now takes its place. * src/lisp.h (emacs_abort): New decl. All calls from Emacs code to 'abort' changed to use 'emacs_abort'. * src/msdos.c (dos_abort) [defined abort]: Remove; not used. (abort) [!defined abort]: Rename to ... (emacs_abort): ... new name. * src/sysdep.c (emacs_abort) [!HAVE_NTGUI]: New function, taking the place of the old 'abort' in emacs.c. * src/w32.c, src/w32fns.c (abort): Do not #undef. * src/w32.c (emacs_abort): Rename from w32_abort.
Diffstat (limited to 'src')
-rw-r--r--src/.gdbinit11
-rw-r--r--src/ChangeLog20
-rw-r--r--src/alloc.c64
-rw-r--r--src/bidi.c79
-rw-r--r--src/blockinput.h3
-rw-r--r--src/buffer.c12
-rw-r--r--src/buffer.h6
-rw-r--r--src/bytecode.c16
-rw-r--r--src/character.c2
-rw-r--r--src/charset.c6
-rw-r--r--src/cm.c2
-rw-r--r--src/coding.c20
-rw-r--r--src/conf_post.h3
-rw-r--r--src/data.c36
-rw-r--r--src/dired.c2
-rw-r--r--src/dispnew.c18
-rw-r--r--src/editfns.c6
-rw-r--r--src/emacs.c18
-rw-r--r--src/eval.c14
-rw-r--r--src/fileio.c2
-rw-r--r--src/fns.c12
-rw-r--r--src/frame.c22
-rw-r--r--src/frame.h2
-rw-r--r--src/ftfont.c2
-rw-r--r--src/gtkutil.c8
-rw-r--r--src/image.c2
-rw-r--r--src/indent.c4
-rw-r--r--src/insdel.c22
-rw-r--r--src/intervals.c18
-rw-r--r--src/keyboard.c44
-rw-r--r--src/keymap.c2
-rw-r--r--src/lisp.h3
-rw-r--r--src/lread.c4
-rw-r--r--src/marker.c18
-rw-r--r--src/menu.c4
-rw-r--r--src/minibuf.c2
-rw-r--r--src/msdos.c29
-rw-r--r--src/nsfont.m4
-rw-r--r--src/nsmenu.m2
-rw-r--r--src/nsterm.m38
-rw-r--r--src/print.c2
-rw-r--r--src/process.c14
-rw-r--r--src/ralloc.c20
-rw-r--r--src/region-cache.c24
-rw-r--r--src/scroll.c4
-rw-r--r--src/search.c6
-rw-r--r--src/sound.c4
-rw-r--r--src/sysdep.c9
-rw-r--r--src/term.c22
-rw-r--r--src/termchar.h2
-rw-r--r--src/terminal.c8
-rw-r--r--src/terminfo.c2
-rw-r--r--src/tparam.c2
-rw-r--r--src/w32.c31
-rw-r--r--src/w32fns.c26
-rw-r--r--src/w32menu.c2
-rw-r--r--src/w32proc.c14
-rw-r--r--src/w32select.c2
-rw-r--r--src/w32term.c16
-rw-r--r--src/w32xfns.c2
-rw-r--r--src/widget.c8
-rw-r--r--src/window.c8
-rw-r--r--src/xdisp.c48
-rw-r--r--src/xfaces.c26
-rw-r--r--src/xmenu.c26
-rw-r--r--src/xselect.c6
-rw-r--r--src/xterm.c28
67 files changed, 464 insertions, 480 deletions
diff --git a/src/.gdbinit b/src/.gdbinit
index de980c6345f..79419f66ac1 100644
--- a/src/.gdbinit
+++ b/src/.gdbinit
@@ -1222,14 +1222,9 @@ if ($ptr != 0)
1222 set $tem = (struct Lisp_String *) $ptr 1222 set $tem = (struct Lisp_String *) $ptr
1223 set $tem = (char *) $tem->data 1223 set $tem = (char *) $tem->data
1224 1224
1225 # Don't let abort actually run, as it will make stdio stop working and 1225 # Don't let emacs_abort actually run, as it will make stdio stop
1226 # therefore the `pr' command above as well. 1226 # working and therefore the 'pr' command above as well.
1227 if $tem[0] == 'w' && $tem[1] == 'i' && $tem[2] == 'n' && $tem[3] == 'd' 1227 break emacs_abort
1228 # The windows-nt build replaces abort with its own function.
1229 break w32_abort
1230 else
1231 break abort
1232 end
1233end 1228end
1234 1229
1235# x_error_quitter is defined only on X. But window-system is set up 1230# x_error_quitter is defined only on X. But window-system is set up
diff --git a/src/ChangeLog b/src/ChangeLog
index f905cc3b5a2..1dd307b16de 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,23 @@
12012-09-04 Paul Eggert <eggert@cs.ucla.edu>
2
3 Simplify redefinition of 'abort' (Bug#12316).
4 Do not try to redefine the 'abort' function. Instead, redo
5 the code so that it calls 'emacs_abort' rather than 'abort'.
6 This removes the need for the NO_ABORT configure-time macro
7 and makes it easier to change the abort code to do a backtrace.
8 * .gdbinit: Just stop at emacs_abort, not at w32_abort or abort.
9 * emacs.c (abort) [!DOS_NT && !NO_ABORT]:
10 Remove; sysdep.c's emacs_abort now takes its place.
11 * lisp.h (emacs_abort): New decl. All calls from Emacs code to
12 'abort' changed to use 'emacs_abort'.
13 * msdos.c (dos_abort) [defined abort]: Remove; not used.
14 (abort) [!defined abort]: Rename to ...
15 (emacs_abort): ... new name.
16 * sysdep.c (emacs_abort) [!HAVE_NTGUI]: New function, taking
17 the place of the old 'abort' in emacs.c.
18 * w32.c, w32fns.c (abort): Do not #undef.
19 * w32.c (emacs_abort): Rename from w32_abort.
20
12012-09-04 Eli Zaretskii <eliz@gnu.org> 212012-09-04 Eli Zaretskii <eliz@gnu.org>
2 22
3 * w32uniscribe.c (uniscribe_shape): Reverse the sign of 23 * w32uniscribe.c (uniscribe_shape): Reverse the sign of
diff --git a/src/alloc.c b/src/alloc.c
index edecd51f1ac..2a831cea62a 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -613,7 +613,7 @@ overrun_check_malloc (size_t size)
613 register unsigned char *val; 613 register unsigned char *val;
614 int overhead = ++check_depth == 1 ? XMALLOC_OVERRUN_CHECK_OVERHEAD : 0; 614 int overhead = ++check_depth == 1 ? XMALLOC_OVERRUN_CHECK_OVERHEAD : 0;
615 if (SIZE_MAX - overhead < size) 615 if (SIZE_MAX - overhead < size)
616 abort (); 616 emacs_abort ();
617 617
618 val = malloc (size + overhead); 618 val = malloc (size + overhead);
619 if (val && check_depth == 1) 619 if (val && check_depth == 1)
@@ -638,7 +638,7 @@ overrun_check_realloc (void *block, size_t size)
638 register unsigned char *val = (unsigned char *) block; 638 register unsigned char *val = (unsigned char *) block;
639 int overhead = ++check_depth == 1 ? XMALLOC_OVERRUN_CHECK_OVERHEAD : 0; 639 int overhead = ++check_depth == 1 ? XMALLOC_OVERRUN_CHECK_OVERHEAD : 0;
640 if (SIZE_MAX - overhead < size) 640 if (SIZE_MAX - overhead < size)
641 abort (); 641 emacs_abort ();
642 642
643 if (val 643 if (val
644 && check_depth == 1 644 && check_depth == 1
@@ -649,7 +649,7 @@ overrun_check_realloc (void *block, size_t size)
649 size_t osize = xmalloc_get_size (val); 649 size_t osize = xmalloc_get_size (val);
650 if (memcmp (xmalloc_overrun_check_trailer, val + osize, 650 if (memcmp (xmalloc_overrun_check_trailer, val + osize,
651 XMALLOC_OVERRUN_CHECK_SIZE)) 651 XMALLOC_OVERRUN_CHECK_SIZE))
652 abort (); 652 emacs_abort ();
653 memset (val + osize, 0, XMALLOC_OVERRUN_CHECK_SIZE); 653 memset (val + osize, 0, XMALLOC_OVERRUN_CHECK_SIZE);
654 val -= XMALLOC_OVERRUN_CHECK_SIZE + XMALLOC_OVERRUN_SIZE_SIZE; 654 val -= XMALLOC_OVERRUN_CHECK_SIZE + XMALLOC_OVERRUN_SIZE_SIZE;
655 memset (val, 0, XMALLOC_OVERRUN_CHECK_SIZE + XMALLOC_OVERRUN_SIZE_SIZE); 655 memset (val, 0, XMALLOC_OVERRUN_CHECK_SIZE + XMALLOC_OVERRUN_SIZE_SIZE);
@@ -686,7 +686,7 @@ overrun_check_free (void *block)
686 size_t osize = xmalloc_get_size (val); 686 size_t osize = xmalloc_get_size (val);
687 if (memcmp (xmalloc_overrun_check_trailer, val + osize, 687 if (memcmp (xmalloc_overrun_check_trailer, val + osize,
688 XMALLOC_OVERRUN_CHECK_SIZE)) 688 XMALLOC_OVERRUN_CHECK_SIZE))
689 abort (); 689 emacs_abort ();
690#ifdef XMALLOC_CLEAR_FREE_MEMORY 690#ifdef XMALLOC_CLEAR_FREE_MEMORY
691 val -= XMALLOC_OVERRUN_CHECK_SIZE + XMALLOC_OVERRUN_SIZE_SIZE; 691 val -= XMALLOC_OVERRUN_CHECK_SIZE + XMALLOC_OVERRUN_SIZE_SIZE;
692 memset (val, 0xff, osize + XMALLOC_OVERRUN_CHECK_OVERHEAD); 692 memset (val, 0xff, osize + XMALLOC_OVERRUN_CHECK_OVERHEAD);
@@ -1272,7 +1272,7 @@ emacs_blocked_free (void *ptr, const void *ptr2)
1272 { 1272 {
1273 fprintf (stderr, 1273 fprintf (stderr,
1274 "Freeing `%p' which wasn't allocated with malloc\n", ptr); 1274 "Freeing `%p' which wasn't allocated with malloc\n", ptr);
1275 abort (); 1275 emacs_abort ();
1276 } 1276 }
1277 else 1277 else
1278 { 1278 {
@@ -1331,7 +1331,7 @@ emacs_blocked_malloc (size_t size, const void *ptr)
1331 fprintf (stderr, "Region in use is %p...%p, %td bytes, type %d\n", 1331 fprintf (stderr, "Region in use is %p...%p, %td bytes, type %d\n",
1332 m->start, m->end, (char *) m->end - (char *) m->start, 1332 m->start, m->end, (char *) m->end - (char *) m->start,
1333 m->type); 1333 m->type);
1334 abort (); 1334 emacs_abort ();
1335 } 1335 }
1336 1336
1337 if (!dont_register_blocks) 1337 if (!dont_register_blocks)
@@ -1369,7 +1369,7 @@ emacs_blocked_realloc (void *ptr, size_t size, const void *ptr2)
1369 fprintf (stderr, 1369 fprintf (stderr,
1370 "Realloc of %p which wasn't allocated with malloc\n", 1370 "Realloc of %p which wasn't allocated with malloc\n",
1371 ptr); 1371 ptr);
1372 abort (); 1372 emacs_abort ();
1373 } 1373 }
1374 1374
1375 mem_delete (m); 1375 mem_delete (m);
@@ -1391,7 +1391,7 @@ emacs_blocked_realloc (void *ptr, size_t size, const void *ptr2)
1391 if (m != MEM_NIL) 1391 if (m != MEM_NIL)
1392 { 1392 {
1393 fprintf (stderr, "Realloc returns memory that is already in use\n"); 1393 fprintf (stderr, "Realloc returns memory that is already in use\n");
1394 abort (); 1394 emacs_abort ();
1395 } 1395 }
1396 1396
1397 /* Can't handle zero size regions in the red-black tree. */ 1397 /* Can't handle zero size regions in the red-black tree. */
@@ -1804,7 +1804,7 @@ string_bytes (struct Lisp_String *s)
1804 if (!PURE_POINTER_P (s) 1804 if (!PURE_POINTER_P (s)
1805 && s->data 1805 && s->data
1806 && nbytes != SDATA_NBYTES (SDATA_OF_STRING (s))) 1806 && nbytes != SDATA_NBYTES (SDATA_OF_STRING (s)))
1807 abort (); 1807 emacs_abort ();
1808 return nbytes; 1808 return nbytes;
1809} 1809}
1810 1810
@@ -1878,7 +1878,7 @@ check_string_free_list (void)
1878 while (s != NULL) 1878 while (s != NULL)
1879 { 1879 {
1880 if ((uintptr_t) s < 1024) 1880 if ((uintptr_t) s < 1024)
1881 abort (); 1881 emacs_abort ();
1882 s = NEXT_FREE_LISP_STRING (s); 1882 s = NEXT_FREE_LISP_STRING (s);
1883 } 1883 }
1884} 1884}
@@ -2107,7 +2107,7 @@ sweep_strings (void)
2107 back-pointer so that we know it's free. */ 2107 back-pointer so that we know it's free. */
2108#ifdef GC_CHECK_STRING_BYTES 2108#ifdef GC_CHECK_STRING_BYTES
2109 if (string_bytes (s) != SDATA_NBYTES (data)) 2109 if (string_bytes (s) != SDATA_NBYTES (data))
2110 abort (); 2110 emacs_abort ();
2111#else 2111#else
2112 data->u.nbytes = STRING_BYTES (s); 2112 data->u.nbytes = STRING_BYTES (s);
2113#endif 2113#endif
@@ -2218,7 +2218,7 @@ compact_small_strings (void)
2218 /* Check that the string size recorded in the string is the 2218 /* Check that the string size recorded in the string is the
2219 same as the one recorded in the sdata structure. */ 2219 same as the one recorded in the sdata structure. */
2220 if (s && string_bytes (s) != SDATA_NBYTES (from)) 2220 if (s && string_bytes (s) != SDATA_NBYTES (from))
2221 abort (); 2221 emacs_abort ();
2222#endif /* GC_CHECK_STRING_BYTES */ 2222#endif /* GC_CHECK_STRING_BYTES */
2223 2223
2224 nbytes = s ? STRING_BYTES (s) : SDATA_NBYTES (from); 2224 nbytes = s ? STRING_BYTES (s) : SDATA_NBYTES (from);
@@ -2231,7 +2231,7 @@ compact_small_strings (void)
2231 if (memcmp (string_overrun_cookie, 2231 if (memcmp (string_overrun_cookie,
2232 (char *) from_end - GC_STRING_OVERRUN_COOKIE_SIZE, 2232 (char *) from_end - GC_STRING_OVERRUN_COOKIE_SIZE,
2233 GC_STRING_OVERRUN_COOKIE_SIZE)) 2233 GC_STRING_OVERRUN_COOKIE_SIZE))
2234 abort (); 2234 emacs_abort ();
2235#endif 2235#endif
2236 2236
2237 /* Non-NULL S means it's alive. Copy its data. */ 2237 /* Non-NULL S means it's alive. Copy its data. */
@@ -2488,7 +2488,7 @@ make_uninit_multibyte_string (EMACS_INT nchars, EMACS_INT nbytes)
2488 struct Lisp_String *s; 2488 struct Lisp_String *s;
2489 2489
2490 if (nchars < 0) 2490 if (nchars < 0)
2491 abort (); 2491 emacs_abort ();
2492 if (!nbytes) 2492 if (!nbytes)
2493 return empty_multibyte_string; 2493 return empty_multibyte_string;
2494 2494
@@ -2809,7 +2809,7 @@ listn (enum constype type, ptrdiff_t count, Lisp_Object arg, ...)
2809 else if (type == CONSTYPE_HEAP) 2809 else if (type == CONSTYPE_HEAP)
2810 val = Fcons (objp[i], val); 2810 val = Fcons (objp[i], val);
2811 else 2811 else
2812 abort (); 2812 emacs_abort ();
2813 } 2813 }
2814 return val; 2814 return val;
2815} 2815}
@@ -3919,7 +3919,7 @@ mem_insert (void *start, void *end, enum mem_type type)
3919 while (c != MEM_NIL) 3919 while (c != MEM_NIL)
3920 { 3920 {
3921 if (start >= c->start && start < c->end) 3921 if (start >= c->start && start < c->end)
3922 abort (); 3922 emacs_abort ();
3923 parent = c; 3923 parent = c;
3924 c = start < c->start ? c->left : c->right; 3924 c = start < c->start ? c->left : c->right;
3925 } 3925 }
@@ -3938,7 +3938,7 @@ mem_insert (void *start, void *end, enum mem_type type)
3938#ifdef GC_MALLOC_CHECK 3938#ifdef GC_MALLOC_CHECK
3939 x = _malloc_internal (sizeof *x); 3939 x = _malloc_internal (sizeof *x);
3940 if (x == NULL) 3940 if (x == NULL)
3941 abort (); 3941 emacs_abort ();
3942#else 3942#else
3943 x = xmalloc (sizeof *x); 3943 x = xmalloc (sizeof *x);
3944#endif 3944#endif
@@ -4613,7 +4613,7 @@ mark_maybe_pointer (void *p)
4613 break; 4613 break;
4614 4614
4615 default: 4615 default:
4616 abort (); 4616 emacs_abort ();
4617 } 4617 }
4618 4618
4619 if (!NILP (obj)) 4619 if (!NILP (obj))
@@ -4810,7 +4810,7 @@ check_gcpros (void)
4810 if (!survives_gc_p (p->var[i])) 4810 if (!survives_gc_p (p->var[i]))
4811 /* FIXME: It's not necessarily a bug. It might just be that the 4811 /* FIXME: It's not necessarily a bug. It might just be that the
4812 GCPRO is unnecessary or should release the object sooner. */ 4812 GCPRO is unnecessary or should release the object sooner. */
4813 abort (); 4813 emacs_abort ();
4814} 4814}
4815 4815
4816#elif GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES 4816#elif GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES
@@ -5351,7 +5351,7 @@ staticpro (Lisp_Object *varaddress)
5351{ 5351{
5352 staticvec[staticidx++] = varaddress; 5352 staticvec[staticidx++] = varaddress;
5353 if (staticidx >= NSTATICS) 5353 if (staticidx >= NSTATICS)
5354 abort (); 5354 emacs_abort ();
5355} 5355}
5356 5356
5357 5357
@@ -5406,7 +5406,7 @@ See Info node `(elisp)Garbage Collection'. */)
5406 Lisp_Object retval = Qnil; 5406 Lisp_Object retval = Qnil;
5407 5407
5408 if (abort_on_gc) 5408 if (abort_on_gc)
5409 abort (); 5409 emacs_abort ();
5410 5410
5411 /* Can't GC if pure storage overflowed because we can't determine 5411 /* Can't GC if pure storage overflowed because we can't determine
5412 if something is a pure object or not. */ 5412 if something is a pure object or not. */
@@ -5887,7 +5887,7 @@ mark_object (Lisp_Object arg)
5887 do { \ 5887 do { \
5888 m = mem_find (po); \ 5888 m = mem_find (po); \
5889 if (m == MEM_NIL) \ 5889 if (m == MEM_NIL) \
5890 abort (); \ 5890 emacs_abort (); \
5891 } while (0) 5891 } while (0)
5892 5892
5893 /* Check that the object pointed to by PO is live, using predicate 5893 /* Check that the object pointed to by PO is live, using predicate
@@ -5895,7 +5895,7 @@ mark_object (Lisp_Object arg)
5895#define CHECK_LIVE(LIVEP) \ 5895#define CHECK_LIVE(LIVEP) \
5896 do { \ 5896 do { \
5897 if (!LIVEP (m, po)) \ 5897 if (!LIVEP (m, po)) \
5898 abort (); \ 5898 emacs_abort (); \
5899 } while (0) 5899 } while (0)
5900 5900
5901 /* Check both of the above conditions. */ 5901 /* Check both of the above conditions. */
@@ -5943,7 +5943,7 @@ mark_object (Lisp_Object arg)
5943 if (m == MEM_NIL && !SUBRP (obj) 5943 if (m == MEM_NIL && !SUBRP (obj)
5944 && po != &buffer_defaults 5944 && po != &buffer_defaults
5945 && po != &buffer_local_symbols) 5945 && po != &buffer_local_symbols)
5946 abort (); 5946 emacs_abort ();
5947#endif /* GC_CHECK_MARKED_OBJECTS */ 5947#endif /* GC_CHECK_MARKED_OBJECTS */
5948 5948
5949 if (ptr->header.size & PSEUDOVECTOR_FLAG) 5949 if (ptr->header.size & PSEUDOVECTOR_FLAG)
@@ -5966,7 +5966,7 @@ mark_object (Lisp_Object arg)
5966 if (b == po) 5966 if (b == po)
5967 break; 5967 break;
5968 if (b == NULL) 5968 if (b == NULL)
5969 abort (); 5969 emacs_abort ();
5970 } 5970 }
5971#endif /* GC_CHECK_MARKED_OBJECTS */ 5971#endif /* GC_CHECK_MARKED_OBJECTS */
5972 mark_buffer ((struct buffer *) ptr); 5972 mark_buffer ((struct buffer *) ptr);
@@ -6042,7 +6042,7 @@ mark_object (Lisp_Object arg)
6042 break; 6042 break;
6043 6043
6044 case PVEC_FREE: 6044 case PVEC_FREE:
6045 abort (); 6045 emacs_abort ();
6046 6046
6047 default: 6047 default:
6048 mark_vectorlike (ptr); 6048 mark_vectorlike (ptr);
@@ -6089,7 +6089,7 @@ mark_object (Lisp_Object arg)
6089 And if it's forwarded to a C variable, either it's not 6089 And if it's forwarded to a C variable, either it's not
6090 a Lisp_Object var, or it's staticpro'd already. */ 6090 a Lisp_Object var, or it's staticpro'd already. */
6091 break; 6091 break;
6092 default: abort (); 6092 default: emacs_abort ();
6093 } 6093 }
6094 if (!PURE_POINTER_P (XSTRING (ptr->name))) 6094 if (!PURE_POINTER_P (XSTRING (ptr->name)))
6095 MARK_STRING (XSTRING (ptr->name)); 6095 MARK_STRING (XSTRING (ptr->name));
@@ -6143,7 +6143,7 @@ mark_object (Lisp_Object arg)
6143 break; 6143 break;
6144 6144
6145 default: 6145 default:
6146 abort (); 6146 emacs_abort ();
6147 } 6147 }
6148 break; 6148 break;
6149 6149
@@ -6165,7 +6165,7 @@ mark_object (Lisp_Object arg)
6165 obj = ptr->u.cdr; 6165 obj = ptr->u.cdr;
6166 cdr_count++; 6166 cdr_count++;
6167 if (cdr_count == mark_object_loop_halt) 6167 if (cdr_count == mark_object_loop_halt)
6168 abort (); 6168 emacs_abort ();
6169 goto loop; 6169 goto loop;
6170 } 6170 }
6171 6171
@@ -6178,7 +6178,7 @@ mark_object (Lisp_Object arg)
6178 break; 6178 break;
6179 6179
6180 default: 6180 default:
6181 abort (); 6181 emacs_abort ();
6182 } 6182 }
6183 6183
6184#undef CHECK_LIVE 6184#undef CHECK_LIVE
@@ -6247,7 +6247,7 @@ survives_gc_p (Lisp_Object obj)
6247 break; 6247 break;
6248 6248
6249 default: 6249 default:
6250 abort (); 6250 emacs_abort ();
6251 } 6251 }
6252 6252
6253 return survives_p || PURE_POINTER_P ((void *) XPNTR (obj)); 6253 return survives_p || PURE_POINTER_P ((void *) XPNTR (obj));
@@ -6699,7 +6699,7 @@ die (const char *msg, const char *file, int line)
6699 file, line, msg); 6699 file, line, msg);
6700 npointers = backtrace (buffer, NPOINTERS_MAX); 6700 npointers = backtrace (buffer, NPOINTERS_MAX);
6701 backtrace_symbols_fd (buffer, npointers, STDERR_FILENO); 6701 backtrace_symbols_fd (buffer, npointers, STDERR_FILENO);
6702 abort (); 6702 emacs_abort ();
6703} 6703}
6704#endif 6704#endif
6705 6705
diff --git a/src/bidi.c b/src/bidi.c
index 6b3ac53d318..73fec3533a4 100644
--- a/src/bidi.c
+++ b/src/bidi.c
@@ -105,7 +105,7 @@ bidi_get_type (int ch, bidi_dir_t override)
105 if (ch == BIDI_EOB) 105 if (ch == BIDI_EOB)
106 return NEUTRAL_B; 106 return NEUTRAL_B;
107 if (ch < 0 || ch > MAX_CHAR) 107 if (ch < 0 || ch > MAX_CHAR)
108 abort (); 108 emacs_abort ();
109 109
110 default_type = (bidi_type_t) XINT (CHAR_TABLE_REF (bidi_type_table, ch)); 110 default_type = (bidi_type_t) XINT (CHAR_TABLE_REF (bidi_type_table, ch));
111 /* Every valid character code, even those that are unassigned by the 111 /* Every valid character code, even those that are unassigned by the
@@ -113,7 +113,7 @@ bidi_get_type (int ch, bidi_dir_t override)
113 DerivedBidiClass.txt file. Therefore, if we ever get UNKNOWN_BT 113 DerivedBidiClass.txt file. Therefore, if we ever get UNKNOWN_BT
114 (= zero) code from CHAR_TABLE_REF, that's a bug. */ 114 (= zero) code from CHAR_TABLE_REF, that's a bug. */
115 if (default_type == UNKNOWN_BT) 115 if (default_type == UNKNOWN_BT)
116 abort (); 116 emacs_abort ();
117 117
118 if (override == NEUTRAL_DIR) 118 if (override == NEUTRAL_DIR)
119 return default_type; 119 return default_type;
@@ -141,7 +141,7 @@ bidi_get_type (int ch, bidi_dir_t override)
141 else if (override == R2L) 141 else if (override == R2L)
142 return STRONG_R; 142 return STRONG_R;
143 else 143 else
144 abort (); /* can't happen: handled above */ 144 emacs_abort (); /* can't happen: handled above */
145 } 145 }
146 } 146 }
147} 147}
@@ -183,7 +183,7 @@ bidi_get_category (bidi_type_t type)
183 case NEUTRAL_ON: 183 case NEUTRAL_ON:
184 return NEUTRAL; 184 return NEUTRAL;
185 default: 185 default:
186 abort (); 186 emacs_abort ();
187 } 187 }
188} 188}
189 189
@@ -199,7 +199,7 @@ bidi_mirror_char (int c)
199 if (c == BIDI_EOB) 199 if (c == BIDI_EOB)
200 return c; 200 return c;
201 if (c < 0 || c > MAX_CHAR) 201 if (c < 0 || c > MAX_CHAR)
202 abort (); 202 emacs_abort ();
203 203
204 val = CHAR_TABLE_REF (bidi_mirror_table, c); 204 val = CHAR_TABLE_REF (bidi_mirror_table, c);
205 if (INTEGERP (val)) 205 if (INTEGERP (val))
@@ -215,7 +215,7 @@ bidi_mirror_char (int c)
215 /* Minimal test we must do in optimized builds, to prevent weird 215 /* Minimal test we must do in optimized builds, to prevent weird
216 crashes further down the road. */ 216 crashes further down the road. */
217 if (v < 0 || v > MAX_CHAR) 217 if (v < 0 || v > MAX_CHAR)
218 abort (); 218 emacs_abort ();
219 219
220 return v; 220 return v;
221 } 221 }
@@ -373,7 +373,7 @@ bidi_cache_fetch_state (ptrdiff_t idx, struct bidi_it *bidi_it)
373 int current_scan_dir = bidi_it->scan_dir; 373 int current_scan_dir = bidi_it->scan_dir;
374 374
375 if (idx < bidi_cache_start || idx >= bidi_cache_idx) 375 if (idx < bidi_cache_start || idx >= bidi_cache_idx)
376 abort (); 376 emacs_abort ();
377 377
378 bidi_copy_it (bidi_it, &bidi_cache[idx]); 378 bidi_copy_it (bidi_it, &bidi_cache[idx]);
379 bidi_it->scan_dir = current_scan_dir; 379 bidi_it->scan_dir = current_scan_dir;
@@ -518,7 +518,7 @@ bidi_cache_iterator_state (struct bidi_it *bidi_it, bool resolved)
518 518
519 /* We should never cache on backward scans. */ 519 /* We should never cache on backward scans. */
520 if (bidi_it->scan_dir == -1) 520 if (bidi_it->scan_dir == -1)
521 abort (); 521 emacs_abort ();
522 idx = bidi_cache_search (bidi_it->charpos, -1, 1); 522 idx = bidi_cache_search (bidi_it->charpos, -1, 1);
523 523
524 if (idx < 0) 524 if (idx < 0)
@@ -537,7 +537,7 @@ bidi_cache_iterator_state (struct bidi_it *bidi_it, bool resolved)
537 idx = bidi_cache_start; 537 idx = bidi_cache_start;
538 } 538 }
539 if (bidi_it->nchars <= 0) 539 if (bidi_it->nchars <= 0)
540 abort (); 540 emacs_abort ();
541 bidi_copy_it (&bidi_cache[idx], bidi_it); 541 bidi_copy_it (&bidi_cache[idx], bidi_it);
542 if (!resolved) 542 if (!resolved)
543 bidi_cache[idx].resolved_level = -1; 543 bidi_cache[idx].resolved_level = -1;
@@ -592,7 +592,7 @@ static inline int
592bidi_peek_at_next_level (struct bidi_it *bidi_it) 592bidi_peek_at_next_level (struct bidi_it *bidi_it)
593{ 593{
594 if (bidi_cache_idx == bidi_cache_start || bidi_cache_last_idx == -1) 594 if (bidi_cache_idx == bidi_cache_start || bidi_cache_last_idx == -1)
595 abort (); 595 emacs_abort ();
596 return bidi_cache[bidi_cache_last_idx + bidi_it->scan_dir].resolved_level; 596 return bidi_cache[bidi_cache_last_idx + bidi_it->scan_dir].resolved_level;
597} 597}
598 598
@@ -629,7 +629,7 @@ void
629bidi_pop_it (struct bidi_it *bidi_it) 629bidi_pop_it (struct bidi_it *bidi_it)
630{ 630{
631 if (bidi_cache_start <= 0) 631 if (bidi_cache_start <= 0)
632 abort (); 632 emacs_abort ();
633 633
634 /* Reset the next free cache slot index to what it was before the 634 /* Reset the next free cache slot index to what it was before the
635 call to bidi_push_it. */ 635 call to bidi_push_it. */
@@ -640,7 +640,7 @@ bidi_pop_it (struct bidi_it *bidi_it)
640 640
641 /* Pop the previous cache start from the stack. */ 641 /* Pop the previous cache start from the stack. */
642 if (bidi_cache_sp <= 0) 642 if (bidi_cache_sp <= 0)
643 abort (); 643 emacs_abort ();
644 bidi_cache_start = bidi_cache_start_stack[--bidi_cache_sp]; 644 bidi_cache_start = bidi_cache_start_stack[--bidi_cache_sp];
645 645
646 /* Invalidate the last-used cache slot data. */ 646 /* Invalidate the last-used cache slot data. */
@@ -762,12 +762,12 @@ bidi_initialize (void)
762{ 762{
763 bidi_type_table = uniprop_table (intern ("bidi-class")); 763 bidi_type_table = uniprop_table (intern ("bidi-class"));
764 if (NILP (bidi_type_table)) 764 if (NILP (bidi_type_table))
765 abort (); 765 emacs_abort ();
766 staticpro (&bidi_type_table); 766 staticpro (&bidi_type_table);
767 767
768 bidi_mirror_table = uniprop_table (intern ("mirroring")); 768 bidi_mirror_table = uniprop_table (intern ("mirroring"));
769 if (NILP (bidi_mirror_table)) 769 if (NILP (bidi_mirror_table))
770 abort (); 770 emacs_abort ();
771 staticpro (&bidi_mirror_table); 771 staticpro (&bidi_mirror_table);
772 772
773 Qparagraph_start = intern ("paragraph-start"); 773 Qparagraph_start = intern ("paragraph-start");
@@ -885,7 +885,7 @@ bidi_count_bytes (const unsigned char *s, const ptrdiff_t beg,
885 else 885 else
886 { 886 {
887 if (!CHAR_HEAD_P (*p)) 887 if (!CHAR_HEAD_P (*p))
888 abort (); 888 emacs_abort ();
889 889
890 while (pos < end) 890 while (pos < end)
891 { 891 {
@@ -965,7 +965,7 @@ bidi_fetch_char (ptrdiff_t bytepos, ptrdiff_t charpos, ptrdiff_t *disp_pos,
965 /* We don't expect to find ourselves in the middle of a display 965 /* We don't expect to find ourselves in the middle of a display
966 property. Hopefully, it will never be needed. */ 966 property. Hopefully, it will never be needed. */
967 if (charpos > *disp_pos) 967 if (charpos > *disp_pos)
968 abort (); 968 emacs_abort ();
969 /* Text covered by `display' properties and overlays with 969 /* Text covered by `display' properties and overlays with
970 display properties or display strings is handled as a single 970 display properties or display strings is handled as a single
971 character that represents the entire run of characters 971 character that represents the entire run of characters
@@ -995,7 +995,7 @@ bidi_fetch_char (ptrdiff_t bytepos, ptrdiff_t charpos, ptrdiff_t *disp_pos,
995 } 995 }
996 *nchars = disp_end_pos - *disp_pos; 996 *nchars = disp_end_pos - *disp_pos;
997 if (*nchars <= 0) 997 if (*nchars <= 0)
998 abort (); 998 emacs_abort ();
999 if (string->s) 999 if (string->s)
1000 *ch_len = bidi_count_bytes (string->s, *disp_pos, bytepos, 1000 *ch_len = bidi_count_bytes (string->s, *disp_pos, bytepos,
1001 disp_end_pos, string->unibyte); 1001 disp_end_pos, string->unibyte);
@@ -1160,7 +1160,7 @@ bidi_paragraph_init (bidi_dir_t dir, struct bidi_it *bidi_it, bool no_default_p)
1160 dir = L2R; 1160 dir = L2R;
1161 /* We should never be called at EOB or before BEGV. */ 1161 /* We should never be called at EOB or before BEGV. */
1162 else if (bidi_it->charpos >= end || bytepos < begbyte) 1162 else if (bidi_it->charpos >= end || bytepos < begbyte)
1163 abort (); 1163 emacs_abort ();
1164 1164
1165 if (dir == L2R) 1165 if (dir == L2R)
1166 { 1166 {
@@ -1298,7 +1298,7 @@ bidi_paragraph_init (bidi_dir_t dir, struct bidi_it *bidi_it, bool no_default_p)
1298 && no_default_p && bidi_it->paragraph_dir == NEUTRAL_DIR); 1298 && no_default_p && bidi_it->paragraph_dir == NEUTRAL_DIR);
1299 } 1299 }
1300 else 1300 else
1301 abort (); 1301 emacs_abort ();
1302 1302
1303 /* Contrary to UAX#9 clause P3, we only default the paragraph 1303 /* Contrary to UAX#9 clause P3, we only default the paragraph
1304 direction to L2R if we have no previous usable paragraph 1304 direction to L2R if we have no previous usable paragraph
@@ -1325,7 +1325,7 @@ bidi_explicit_dir_char (int ch)
1325 bidi_type_t ch_type; 1325 bidi_type_t ch_type;
1326 1326
1327 if (!bidi_initialized) 1327 if (!bidi_initialized)
1328 abort (); 1328 emacs_abort ();
1329 ch_type = (bidi_type_t) XINT (CHAR_TABLE_REF (bidi_type_table, ch)); 1329 ch_type = (bidi_type_t) XINT (CHAR_TABLE_REF (bidi_type_table, ch));
1330 return (ch_type == LRE || ch_type == LRO 1330 return (ch_type == LRE || ch_type == LRO
1331 || ch_type == RLE || ch_type == RLO 1331 || ch_type == RLE || ch_type == RLO
@@ -1378,10 +1378,10 @@ bidi_resolve_explicit_1 (struct bidi_it *bidi_it)
1378 /* Advance to the next character, skipping characters covered by 1378 /* Advance to the next character, skipping characters covered by
1379 display strings (nchars > 1). */ 1379 display strings (nchars > 1). */
1380 if (bidi_it->nchars <= 0) 1380 if (bidi_it->nchars <= 0)
1381 abort (); 1381 emacs_abort ();
1382 bidi_it->charpos += bidi_it->nchars; 1382 bidi_it->charpos += bidi_it->nchars;
1383 if (bidi_it->ch_len == 0) 1383 if (bidi_it->ch_len == 0)
1384 abort (); 1384 emacs_abort ();
1385 bidi_it->bytepos += bidi_it->ch_len; 1385 bidi_it->bytepos += bidi_it->ch_len;
1386 } 1386 }
1387 1387
@@ -1581,7 +1581,7 @@ bidi_resolve_explicit (struct bidi_it *bidi_it)
1581 } 1581 }
1582 1582
1583 if (bidi_it->nchars <= 0) 1583 if (bidi_it->nchars <= 0)
1584 abort (); 1584 emacs_abort ();
1585 if (level == prev_level) /* empty embedding */ 1585 if (level == prev_level) /* empty embedding */
1586 saved_it.ignore_bn_limit = bidi_it->charpos + bidi_it->nchars; 1586 saved_it.ignore_bn_limit = bidi_it->charpos + bidi_it->nchars;
1587 else /* this embedding is non-empty */ 1587 else /* this embedding is non-empty */
@@ -1644,7 +1644,7 @@ bidi_resolve_weak (struct bidi_it *bidi_it)
1644 || type == RLE 1644 || type == RLE
1645 || type == RLO 1645 || type == RLO
1646 || type == PDF) 1646 || type == PDF)
1647 abort (); 1647 emacs_abort ();
1648 1648
1649 if (new_level != prev_level 1649 if (new_level != prev_level
1650 || bidi_it->type == NEUTRAL_B) 1650 || bidi_it->type == NEUTRAL_B)
@@ -1685,7 +1685,7 @@ bidi_resolve_weak (struct bidi_it *bidi_it)
1685 else if (bidi_it->sor == L2R) 1685 else if (bidi_it->sor == L2R)
1686 type = STRONG_L; 1686 type = STRONG_L;
1687 else /* shouldn't happen! */ 1687 else /* shouldn't happen! */
1688 abort (); 1688 emacs_abort ();
1689 } 1689 }
1690 if (type == WEAK_EN /* W2 */ 1690 if (type == WEAK_EN /* W2 */
1691 && bidi_it->last_strong.type_after_w1 == STRONG_AL) 1691 && bidi_it->last_strong.type_after_w1 == STRONG_AL)
@@ -1767,7 +1767,7 @@ bidi_resolve_weak (struct bidi_it *bidi_it)
1767 : bidi_it->string.s); 1767 : bidi_it->string.s);
1768 1768
1769 if (bidi_it->nchars <= 0) 1769 if (bidi_it->nchars <= 0)
1770 abort (); 1770 emacs_abort ();
1771 next_char 1771 next_char
1772 = (bidi_it->charpos + bidi_it->nchars >= eob 1772 = (bidi_it->charpos + bidi_it->nchars >= eob
1773 ? BIDI_EOB 1773 ? BIDI_EOB
@@ -1875,7 +1875,7 @@ bidi_resolve_neutral (struct bidi_it *bidi_it)
1875 || type == NEUTRAL_S 1875 || type == NEUTRAL_S
1876 || type == NEUTRAL_WS 1876 || type == NEUTRAL_WS
1877 || type == NEUTRAL_ON)) 1877 || type == NEUTRAL_ON))
1878 abort (); 1878 emacs_abort ();
1879 1879
1880 if ((type != NEUTRAL_B /* Don't risk entering the long loop below if 1880 if ((type != NEUTRAL_B /* Don't risk entering the long loop below if
1881 we are already at paragraph end. */ 1881 we are already at paragraph end. */
@@ -1930,7 +1930,7 @@ bidi_resolve_neutral (struct bidi_it *bidi_it)
1930 bidi_type_t next_type; 1930 bidi_type_t next_type;
1931 1931
1932 if (bidi_it->scan_dir == -1) 1932 if (bidi_it->scan_dir == -1)
1933 abort (); 1933 emacs_abort ();
1934 1934
1935 bidi_copy_it (&saved_it, bidi_it); 1935 bidi_copy_it (&saved_it, bidi_it);
1936 /* Scan the text forward until we find the first non-neutral 1936 /* Scan the text forward until we find the first non-neutral
@@ -1979,7 +1979,7 @@ bidi_resolve_neutral (struct bidi_it *bidi_it)
1979 break; 1979 break;
1980 case WEAK_BN: 1980 case WEAK_BN:
1981 if (!bidi_explicit_dir_char (bidi_it->ch)) 1981 if (!bidi_explicit_dir_char (bidi_it->ch))
1982 abort (); /* can't happen: BNs are skipped */ 1982 emacs_abort (); /* can't happen: BNs are skipped */
1983 /* FALLTHROUGH */ 1983 /* FALLTHROUGH */
1984 case NEUTRAL_B: 1984 case NEUTRAL_B:
1985 /* Marched all the way to the end of this level run. 1985 /* Marched all the way to the end of this level run.
@@ -1998,7 +1998,7 @@ bidi_resolve_neutral (struct bidi_it *bidi_it)
1998 } 1998 }
1999 break; 1999 break;
2000 default: 2000 default:
2001 abort (); 2001 emacs_abort ();
2002 } 2002 }
2003 type = bidi_resolve_neutral_1 (saved_it.prev_for_neutral.type, 2003 type = bidi_resolve_neutral_1 (saved_it.prev_for_neutral.type,
2004 next_type, current_level); 2004 next_type, current_level);
@@ -2023,7 +2023,7 @@ bidi_type_of_next_char (struct bidi_it *bidi_it)
2023 2023
2024 /* This should always be called during a forward scan. */ 2024 /* This should always be called during a forward scan. */
2025 if (bidi_it->scan_dir != 1) 2025 if (bidi_it->scan_dir != 1)
2026 abort (); 2026 emacs_abort ();
2027 2027
2028 /* Reset the limit until which to ignore BNs if we step out of the 2028 /* Reset the limit until which to ignore BNs if we step out of the
2029 area where we found only empty levels. */ 2029 area where we found only empty levels. */
@@ -2107,7 +2107,7 @@ bidi_level_of_next_char (struct bidi_it *bidi_it)
2107 if (bidi_it->scan_dir > 0) 2107 if (bidi_it->scan_dir > 0)
2108 { 2108 {
2109 if (bidi_it->nchars <= 0) 2109 if (bidi_it->nchars <= 0)
2110 abort (); 2110 emacs_abort ();
2111 next_char_pos = bidi_it->charpos + bidi_it->nchars; 2111 next_char_pos = bidi_it->charpos + bidi_it->nchars;
2112 } 2112 }
2113 else if (bidi_it->charpos >= bob) 2113 else if (bidi_it->charpos >= bob)
@@ -2143,7 +2143,7 @@ bidi_level_of_next_char (struct bidi_it *bidi_it)
2143 if (bidi_it->scan_dir == -1) 2143 if (bidi_it->scan_dir == -1)
2144 /* If we are going backwards, the iterator state is already cached 2144 /* If we are going backwards, the iterator state is already cached
2145 from previous scans, and should be fully resolved. */ 2145 from previous scans, and should be fully resolved. */
2146 abort (); 2146 emacs_abort ();
2147 2147
2148 if (type == UNKNOWN_BT) 2148 if (type == UNKNOWN_BT)
2149 type = bidi_type_of_next_char (bidi_it); 2149 type = bidi_type_of_next_char (bidi_it);
@@ -2156,7 +2156,7 @@ bidi_level_of_next_char (struct bidi_it *bidi_it)
2156 || (type == WEAK_BN && prev_level == level)) 2156 || (type == WEAK_BN && prev_level == level))
2157 { 2157 {
2158 if (bidi_it->next_for_neutral.type == UNKNOWN_BT) 2158 if (bidi_it->next_for_neutral.type == UNKNOWN_BT)
2159 abort (); 2159 emacs_abort ();
2160 2160
2161 /* If the cached state shows a neutral character, it was not 2161 /* If the cached state shows a neutral character, it was not
2162 resolved by bidi_resolve_neutral, so do it now. */ 2162 resolved by bidi_resolve_neutral, so do it now. */
@@ -2170,7 +2170,7 @@ bidi_level_of_next_char (struct bidi_it *bidi_it)
2170 || type == WEAK_BN 2170 || type == WEAK_BN
2171 || type == WEAK_EN 2171 || type == WEAK_EN
2172 || type == WEAK_AN)) 2172 || type == WEAK_AN))
2173 abort (); 2173 emacs_abort ();
2174 bidi_it->type = type; 2174 bidi_it->type = type;
2175 bidi_check_type (bidi_it->type); 2175 bidi_check_type (bidi_it->type);
2176 2176
@@ -2192,7 +2192,7 @@ bidi_level_of_next_char (struct bidi_it *bidi_it)
2192 int dpp = bidi_it->disp_prop; 2192 int dpp = bidi_it->disp_prop;
2193 2193
2194 if (bidi_it->nchars <= 0) 2194 if (bidi_it->nchars <= 0)
2195 abort (); 2195 emacs_abort ();
2196 do { 2196 do {
2197 ch = bidi_fetch_char (bpos += clen, cpos += nc, &disp_pos, &dpp, &bs, 2197 ch = bidi_fetch_char (bpos += clen, cpos += nc, &disp_pos, &dpp, &bs,
2198 fwp, &clen, &nc); 2198 fwp, &clen, &nc);
@@ -2301,8 +2301,9 @@ bidi_find_other_level_edge (struct bidi_it *bidi_it, int level, bool end_flag)
2301 { 2301 {
2302 int new_level; 2302 int new_level;
2303 2303
2304 /* If we are at end of level, its edges must be cached. */
2304 if (end_flag) 2305 if (end_flag)
2305 abort (); /* if we are at end of level, its edges must be cached */ 2306 emacs_abort ();
2306 2307
2307 bidi_cache_iterator_state (bidi_it, 1); 2308 bidi_cache_iterator_state (bidi_it, 1);
2308 do { 2309 do {
@@ -2320,7 +2321,7 @@ bidi_move_to_visually_next (struct bidi_it *bidi_it)
2320 struct gcpro gcpro1; 2321 struct gcpro gcpro1;
2321 2322
2322 if (bidi_it->charpos < 0 || bidi_it->bytepos < 0) 2323 if (bidi_it->charpos < 0 || bidi_it->bytepos < 0)
2323 abort (); 2324 emacs_abort ();
2324 2325
2325 if (bidi_it->scan_dir == 0) 2326 if (bidi_it->scan_dir == 0)
2326 { 2327 {
@@ -2431,7 +2432,7 @@ bidi_move_to_visually_next (struct bidi_it *bidi_it)
2431 = bidi_at_paragraph_end (bidi_it->charpos + bidi_it->nchars, 2432 = bidi_at_paragraph_end (bidi_it->charpos + bidi_it->nchars,
2432 bidi_it->bytepos + bidi_it->ch_len); 2433 bidi_it->bytepos + bidi_it->ch_len);
2433 if (bidi_it->nchars <= 0) 2434 if (bidi_it->nchars <= 0)
2434 abort (); 2435 emacs_abort ();
2435 if (sep_len >= 0) 2436 if (sep_len >= 0)
2436 { 2437 {
2437 bidi_it->new_paragraph = 1; 2438 bidi_it->new_paragraph = 1;
diff --git a/src/blockinput.h b/src/blockinput.h
index dc02919cf4f..3f61b2b27b9 100644
--- a/src/blockinput.h
+++ b/src/blockinput.h
@@ -89,7 +89,7 @@ extern int pending_atimers;
89 do_pending_atimers (); \ 89 do_pending_atimers (); \
90 } \ 90 } \
91 else if (interrupt_input_blocked < 0) \ 91 else if (interrupt_input_blocked < 0) \
92 abort (); \ 92 emacs_abort (); \
93 } \ 93 } \
94 while (0) 94 while (0)
95 95
@@ -124,4 +124,3 @@ extern int pending_atimers;
124extern void reinvoke_input_signal (void); 124extern void reinvoke_input_signal (void);
125 125
126#endif /* EMACS_BLOCKINPUT_H */ 126#endif /* EMACS_BLOCKINPUT_H */
127
diff --git a/src/buffer.c b/src/buffer.c
index f4d38e50a47..7698b72a3c6 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1242,7 +1242,7 @@ buffer_local_value_1 (Lisp_Object variable, Lisp_Object buffer)
1242 result = Fdefault_value (variable); 1242 result = Fdefault_value (variable);
1243 break; 1243 break;
1244 } 1244 }
1245 default: abort (); 1245 default: emacs_abort ();
1246 } 1246 }
1247 1247
1248 return result; 1248 return result;
@@ -2671,7 +2671,7 @@ current buffer is cleared. */)
2671 /* Make sure no markers were put on the chain 2671 /* Make sure no markers were put on the chain
2672 while the chain value was incorrect. */ 2672 while the chain value was incorrect. */
2673 if (BUF_MARKERS (current_buffer)) 2673 if (BUF_MARKERS (current_buffer))
2674 abort (); 2674 emacs_abort ();
2675 2675
2676 BUF_MARKERS (current_buffer) = markers; 2676 BUF_MARKERS (current_buffer) = markers;
2677 2677
@@ -3413,7 +3413,7 @@ overlay_strings (ptrdiff_t pos, struct window *w, unsigned char **pstr)
3413 } 3413 }
3414 } 3414 }
3415 if (p != overlay_str_buf + total) 3415 if (p != overlay_str_buf + total)
3416 abort (); 3416 emacs_abort ();
3417 if (pstr) 3417 if (pstr)
3418 *pstr = overlay_str_buf; 3418 *pstr = overlay_str_buf;
3419 return total; 3419 return total;
@@ -4596,7 +4596,7 @@ buffer_slot_type_mismatch (Lisp_Object newval, int type)
4596 case_Lisp_Int: predicate = Qintegerp; break; 4596 case_Lisp_Int: predicate = Qintegerp; break;
4597 case Lisp_String: predicate = Qstringp; break; 4597 case Lisp_String: predicate = Qstringp; break;
4598 case Lisp_Symbol: predicate = Qsymbolp; break; 4598 case Lisp_Symbol: predicate = Qsymbolp; break;
4599 default: abort (); 4599 default: emacs_abort ();
4600 } 4600 }
4601 4601
4602 wrong_type_argument (predicate, newval); 4602 wrong_type_argument (predicate, newval);
@@ -5277,7 +5277,7 @@ init_buffer_once (void)
5277 5277
5278 /* Need more room? */ 5278 /* Need more room? */
5279 if (idx >= MAX_PER_BUFFER_VARS) 5279 if (idx >= MAX_PER_BUFFER_VARS)
5280 abort (); 5280 emacs_abort ();
5281 last_per_buffer_idx = idx; 5281 last_per_buffer_idx = idx;
5282 5282
5283 Vbuffer_alist = Qnil; 5283 Vbuffer_alist = Qnil;
@@ -5418,7 +5418,7 @@ defvar_per_buffer (struct Lisp_Buffer_Objfwd *bo_fwd, const char *namestring,
5418 if (PER_BUFFER_IDX (offset) == 0) 5418 if (PER_BUFFER_IDX (offset) == 0)
5419 /* Did a DEFVAR_PER_BUFFER without initializing the corresponding 5419 /* Did a DEFVAR_PER_BUFFER without initializing the corresponding
5420 slot of buffer_local_flags */ 5420 slot of buffer_local_flags */
5421 abort (); 5421 emacs_abort ();
5422} 5422}
5423 5423
5424 5424
diff --git a/src/buffer.h b/src/buffer.h
index 3acf1423816..da40a7ce3d8 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -1149,7 +1149,7 @@ BUF_FETCH_MULTIBYTE_CHAR (struct buffer *buf, ptrdiff_t pos)
1149 We assume you know which buffer it's pointing into. */ 1149 We assume you know which buffer it's pointing into. */
1150 1150
1151#define OVERLAY_POSITION(P) \ 1151#define OVERLAY_POSITION(P) \
1152 (MARKERP (P) ? marker_position (P) : (abort (), 0)) 1152 (MARKERP (P) ? marker_position (P) : (emacs_abort (), 0))
1153 1153
1154 1154
1155/*********************************************************************** 1155/***********************************************************************
@@ -1189,7 +1189,7 @@ extern int last_per_buffer_idx;
1189 1189
1190#define PER_BUFFER_VALUE_P(B, IDX) \ 1190#define PER_BUFFER_VALUE_P(B, IDX) \
1191 (((IDX) < 0 || IDX >= last_per_buffer_idx) \ 1191 (((IDX) < 0 || IDX >= last_per_buffer_idx) \
1192 ? (abort (), 0) \ 1192 ? (emacs_abort (), 0) \
1193 : ((B)->local_flags[IDX] != 0)) 1193 : ((B)->local_flags[IDX] != 0))
1194 1194
1195/* Set whether per-buffer variable with index IDX has a buffer-local 1195/* Set whether per-buffer variable with index IDX has a buffer-local
@@ -1198,7 +1198,7 @@ extern int last_per_buffer_idx;
1198#define SET_PER_BUFFER_VALUE_P(B, IDX, VAL) \ 1198#define SET_PER_BUFFER_VALUE_P(B, IDX, VAL) \
1199 do { \ 1199 do { \
1200 if ((IDX) < 0 || (IDX) >= last_per_buffer_idx) \ 1200 if ((IDX) < 0 || (IDX) >= last_per_buffer_idx) \
1201 abort (); \ 1201 emacs_abort (); \
1202 (B)->local_flags[IDX] = (VAL); \ 1202 (B)->local_flags[IDX] = (VAL); \
1203 } while (0) 1203 } while (0)
1204 1204
diff --git a/src/bytecode.c b/src/bytecode.c
index 40729cbd453..97730636d0e 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -435,7 +435,7 @@ unmark_byte_stack (void)
435#ifdef BYTE_CODE_SAFE 435#ifdef BYTE_CODE_SAFE
436 436
437#define CHECK_RANGE(ARG) \ 437#define CHECK_RANGE(ARG) \
438 if (ARG >= bytestr_length) abort () 438 if (ARG >= bytestr_length) emacs_abort ()
439 439
440#else /* not BYTE_CODE_SAFE */ 440#else /* not BYTE_CODE_SAFE */
441 441
@@ -508,7 +508,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
508 if (FRAME_X_P (f) 508 if (FRAME_X_P (f)
509 && FRAME_FONT (f)->direction != 0 509 && FRAME_FONT (f)->direction != 0
510 && FRAME_FONT (f)->direction != 1) 510 && FRAME_FONT (f)->direction != 1)
511 abort (); 511 emacs_abort ();
512 } 512 }
513#endif 513#endif
514 514
@@ -600,9 +600,9 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
600 { 600 {
601#ifdef BYTE_CODE_SAFE 601#ifdef BYTE_CODE_SAFE
602 if (top > stacke) 602 if (top > stacke)
603 abort (); 603 emacs_abort ();
604 else if (top < stack.bottom - 1) 604 else if (top < stack.bottom - 1)
605 abort (); 605 emacs_abort ();
606#endif 606#endif
607 607
608#ifdef BYTE_CODE_METER 608#ifdef BYTE_CODE_METER
@@ -1875,7 +1875,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1875 /* Actually this is Bstack_ref with offset 0, but we use Bdup 1875 /* Actually this is Bstack_ref with offset 0, but we use Bdup
1876 for that instead. */ 1876 for that instead. */
1877 /* CASE (Bstack_ref): */ 1877 /* CASE (Bstack_ref): */
1878 abort (); 1878 emacs_abort ();
1879 1879
1880 /* Handy byte-codes for lexical binding. */ 1880 /* Handy byte-codes for lexical binding. */
1881 CASE (Bstack_ref1): 1881 CASE (Bstack_ref1):
@@ -1928,11 +1928,11 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1928#ifdef BYTE_CODE_SAFE 1928#ifdef BYTE_CODE_SAFE
1929 if (op < Bconstant) 1929 if (op < Bconstant)
1930 { 1930 {
1931 abort (); 1931 emacs_abort ();
1932 } 1932 }
1933 if ((op -= Bconstant) >= const_length) 1933 if ((op -= Bconstant) >= const_length)
1934 { 1934 {
1935 abort (); 1935 emacs_abort ();
1936 } 1936 }
1937 PUSH (vectorp[op]); 1937 PUSH (vectorp[op]);
1938#else 1938#else
@@ -1951,7 +1951,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1951#ifdef BYTE_CODE_SAFE 1951#ifdef BYTE_CODE_SAFE
1952 error ("binding stack not balanced (serious byte compiler bug)"); 1952 error ("binding stack not balanced (serious byte compiler bug)");
1953#else 1953#else
1954 abort (); 1954 emacs_abort ();
1955#endif 1955#endif
1956 1956
1957 return result; 1957 return result;
diff --git a/src/character.c b/src/character.c
index cfaaf8eeca9..37963d1878c 100644
--- a/src/character.c
+++ b/src/character.c
@@ -541,7 +541,7 @@ multibyte_chars_in_text (const unsigned char *ptr, ptrdiff_t nbytes)
541 int len = MULTIBYTE_LENGTH (ptr, endp); 541 int len = MULTIBYTE_LENGTH (ptr, endp);
542 542
543 if (len == 0) 543 if (len == 0)
544 abort (); 544 emacs_abort ();
545 ptr += len; 545 ptr += len;
546 chars++; 546 chars++;
547 } 547 }
diff --git a/src/charset.c b/src/charset.c
index 0673790e91c..972a0598059 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -636,7 +636,7 @@ load_charset (struct charset *charset, int control_flag)
636 else 636 else
637 { 637 {
638 if (! CHARSET_UNIFIED_P (charset)) 638 if (! CHARSET_UNIFIED_P (charset))
639 abort (); 639 emacs_abort ();
640 map = CHARSET_UNIFY_MAP (charset); 640 map = CHARSET_UNIFY_MAP (charset);
641 } 641 }
642 if (STRINGP (map)) 642 if (STRINGP (map))
@@ -2025,10 +2025,10 @@ CH in the charset. */)
2025 c = XFASTINT (ch); 2025 c = XFASTINT (ch);
2026 charset = CHAR_CHARSET (c); 2026 charset = CHAR_CHARSET (c);
2027 if (! charset) 2027 if (! charset)
2028 abort (); 2028 emacs_abort ();
2029 code = ENCODE_CHAR (charset, c); 2029 code = ENCODE_CHAR (charset, c);
2030 if (code == CHARSET_INVALID_CODE (charset)) 2030 if (code == CHARSET_INVALID_CODE (charset))
2031 abort (); 2031 emacs_abort ();
2032 dimension = CHARSET_DIMENSION (charset); 2032 dimension = CHARSET_DIMENSION (charset);
2033 for (val = Qnil; dimension > 0; dimension--) 2033 for (val = Qnil; dimension > 0; dimension--)
2034 { 2034 {
diff --git a/src/cm.c b/src/cm.c
index 1922cd8140a..4b17b92eebc 100644
--- a/src/cm.c
+++ b/src/cm.c
@@ -119,7 +119,7 @@ cmcheckmagic (struct tty_display_info *tty)
119 if (curX (tty) == FrameCols (tty)) 119 if (curX (tty) == FrameCols (tty))
120 { 120 {
121 if (!MagicWrap (tty) || curY (tty) >= FrameRows (tty) - 1) 121 if (!MagicWrap (tty) || curY (tty) >= FrameRows (tty) - 1)
122 abort (); 122 emacs_abort ();
123 if (tty->termscript) 123 if (tty->termscript)
124 putc ('\r', tty->termscript); 124 putc ('\r', tty->termscript);
125 putc ('\r', tty->output); 125 putc ('\r', tty->output);
diff --git a/src/coding.c b/src/coding.c
index 02e7b34695e..94a2d9fea80 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -2051,7 +2051,7 @@ emacs_mule_char (struct coding_system *coding, const unsigned char *src,
2051 break; 2051 break;
2052 2052
2053 default: 2053 default:
2054 abort (); 2054 emacs_abort ();
2055 } 2055 }
2056 CODING_DECODE_CHAR (coding, src, src_base, src_end, 2056 CODING_DECODE_CHAR (coding, src, src_base, src_end,
2057 CHARSET_FROM_ID (charset_ID), code, c); 2057 CHARSET_FROM_ID (charset_ID), code, c);
@@ -2345,7 +2345,7 @@ decode_coding_emacs_mule (struct coding_system *coding)
2345 int i; 2345 int i;
2346 2346
2347 if (charbuf_end - charbuf < cmp_status->length) 2347 if (charbuf_end - charbuf < cmp_status->length)
2348 abort (); 2348 emacs_abort ();
2349 for (i = 0; i < cmp_status->length; i++) 2349 for (i = 0; i < cmp_status->length; i++)
2350 *charbuf++ = cmp_status->carryover[i]; 2350 *charbuf++ = cmp_status->carryover[i];
2351 coding->annotated = 1; 2351 coding->annotated = 1;
@@ -2619,7 +2619,7 @@ encode_coding_emacs_mule (struct coding_system *coding)
2619 preferred_charset_id = -1; 2619 preferred_charset_id = -1;
2620 break; 2620 break;
2621 default: 2621 default:
2622 abort (); 2622 emacs_abort ();
2623 } 2623 }
2624 charbuf += -c - 1; 2624 charbuf += -c - 1;
2625 continue; 2625 continue;
@@ -3482,7 +3482,7 @@ decode_coding_iso_2022 (struct coding_system *coding)
3482 if (cmp_status->state != COMPOSING_NO) 3482 if (cmp_status->state != COMPOSING_NO)
3483 { 3483 {
3484 if (charbuf_end - charbuf < cmp_status->length) 3484 if (charbuf_end - charbuf < cmp_status->length)
3485 abort (); 3485 emacs_abort ();
3486 for (i = 0; i < cmp_status->length; i++) 3486 for (i = 0; i < cmp_status->length; i++)
3487 *charbuf++ = cmp_status->carryover[i]; 3487 *charbuf++ = cmp_status->carryover[i];
3488 coding->annotated = 1; 3488 coding->annotated = 1;
@@ -3864,7 +3864,7 @@ decode_coding_iso_2022 (struct coding_system *coding)
3864 break; 3864 break;
3865 3865
3866 default: 3866 default:
3867 abort (); 3867 emacs_abort ();
3868 } 3868 }
3869 3869
3870 if (cmp_status->state == COMPOSING_NO 3870 if (cmp_status->state == COMPOSING_NO
@@ -4419,7 +4419,7 @@ encode_coding_iso_2022 (struct coding_system *coding)
4419 preferred_charset_id = -1; 4419 preferred_charset_id = -1;
4420 break; 4420 break;
4421 default: 4421 default:
4422 abort (); 4422 emacs_abort ();
4423 } 4423 }
4424 charbuf += -c - 1; 4424 charbuf += -c - 1;
4425 continue; 4425 continue;
@@ -4933,7 +4933,7 @@ encode_coding_sjis (struct coding_system *coding)
4933 } 4933 }
4934 } 4934 }
4935 if (code == CHARSET_INVALID_CODE (charset)) 4935 if (code == CHARSET_INVALID_CODE (charset))
4936 abort (); 4936 emacs_abort ();
4937 if (charset == charset_kanji) 4937 if (charset == charset_kanji)
4938 { 4938 {
4939 int c1, c2; 4939 int c1, c2;
@@ -5023,7 +5023,7 @@ encode_coding_big5 (struct coding_system *coding)
5023 } 5023 }
5024 } 5024 }
5025 if (code == CHARSET_INVALID_CODE (charset)) 5025 if (code == CHARSET_INVALID_CODE (charset))
5026 abort (); 5026 emacs_abort ();
5027 if (charset == charset_big5) 5027 if (charset == charset_big5)
5028 { 5028 {
5029 int c1, c2; 5029 int c1, c2;
@@ -7190,7 +7190,7 @@ handle_composition_annotation (ptrdiff_t pos, ptrdiff_t limit,
7190 *buf++ = XINT (XCAR (components)); 7190 *buf++ = XINT (XCAR (components));
7191 } 7191 }
7192 else 7192 else
7193 abort (); 7193 emacs_abort ();
7194 *head -= len; 7194 *head -= len;
7195 } 7195 }
7196 } 7196 }
@@ -9428,7 +9428,7 @@ usage: (set-coding-system-priority &rest coding-systems) */)
9428 && changed[coding_priorities[j]]) 9428 && changed[coding_priorities[j]])
9429 j++; 9429 j++;
9430 if (j == coding_category_max) 9430 if (j == coding_category_max)
9431 abort (); 9431 emacs_abort ();
9432 priorities[i] = coding_priorities[j]; 9432 priorities[i] = coding_priorities[j];
9433 } 9433 }
9434 9434
diff --git a/src/conf_post.h b/src/conf_post.h
index f90ef90fb83..ead7298e98d 100644
--- a/src/conf_post.h
+++ b/src/conf_post.h
@@ -178,9 +178,6 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
178#endif 178#endif
179 179
180#include <string.h> 180#include <string.h>
181/* If you think about removing the line below, note that the
182 MS-Windows build relies on it for declaration of 'environ' needed
183 by a few source files. */
184#include <stdlib.h> 181#include <stdlib.h>
185 182
186#if __GNUC__ >= 3 /* On GCC 3.0 we might get a warning. */ 183#if __GNUC__ >= 3 /* On GCC 3.0 we might get a warning. */
diff --git a/src/data.c b/src/data.c
index d8b7f42ea3f..415a8962350 100644
--- a/src/data.c
+++ b/src/data.c
@@ -108,7 +108,7 @@ wrong_type_argument (register Lisp_Object predicate, register Lisp_Object value)
108 to try and do that by checking the tagbits, but nowadays all 108 to try and do that by checking the tagbits, but nowadays all
109 tagbits are potentially valid. */ 109 tagbits are potentially valid. */
110 /* if ((unsigned int) XTYPE (value) >= Lisp_Type_Limit) 110 /* if ((unsigned int) XTYPE (value) >= Lisp_Type_Limit)
111 * abort (); */ 111 * emacs_abort (); */
112 112
113 xsignal2 (Qwrong_type_argument, predicate, value); 113 xsignal2 (Qwrong_type_argument, predicate, value);
114} 114}
@@ -182,7 +182,7 @@ for example, (type-of 1) returns `integer'. */)
182 case Lisp_Misc_Float: 182 case Lisp_Misc_Float:
183 return Qfloat; 183 return Qfloat;
184 } 184 }
185 abort (); 185 emacs_abort ();
186 186
187 case Lisp_Vectorlike: 187 case Lisp_Vectorlike:
188 if (WINDOW_CONFIGURATIONP (object)) 188 if (WINDOW_CONFIGURATIONP (object))
@@ -217,7 +217,7 @@ for example, (type-of 1) returns `integer'. */)
217 return Qfloat; 217 return Qfloat;
218 218
219 default: 219 default:
220 abort (); 220 emacs_abort ();
221 } 221 }
222} 222}
223 223
@@ -551,7 +551,7 @@ DEFUN ("boundp", Fboundp, Sboundp, 1, 1, 0,
551 /* In set_internal, we un-forward vars when their value is 551 /* In set_internal, we un-forward vars when their value is
552 set to Qunbound. */ 552 set to Qunbound. */
553 return Qt; 553 return Qt;
554 default: abort (); 554 default: emacs_abort ();
555 } 555 }
556 556
557 return (EQ (valcontents, Qunbound) ? Qnil : Qt); 557 return (EQ (valcontents, Qunbound) ? Qnil : Qt);
@@ -864,7 +864,7 @@ do_symval_forwarding (register union Lisp_Fwd *valcontents)
864 don't think anything will break. --lorentey */ 864 don't think anything will break. --lorentey */
865 return *(Lisp_Object *)(XKBOARD_OBJFWD (valcontents)->offset 865 return *(Lisp_Object *)(XKBOARD_OBJFWD (valcontents)->offset
866 + (char *)FRAME_KBOARD (SELECTED_FRAME ())); 866 + (char *)FRAME_KBOARD (SELECTED_FRAME ()));
867 default: abort (); 867 default: emacs_abort ();
868 } 868 }
869} 869}
870 870
@@ -950,7 +950,7 @@ store_symval_forwarding (union Lisp_Fwd *valcontents, register Lisp_Object newva
950 break; 950 break;
951 951
952 default: 952 default:
953 abort (); /* goto def; */ 953 emacs_abort (); /* goto def; */
954 } 954 }
955} 955}
956 956
@@ -1055,7 +1055,7 @@ find_symbol_value (Lisp_Object symbol)
1055 /* FALLTHROUGH */ 1055 /* FALLTHROUGH */
1056 case SYMBOL_FORWARDED: 1056 case SYMBOL_FORWARDED:
1057 return do_symval_forwarding (SYMBOL_FWD (sym)); 1057 return do_symval_forwarding (SYMBOL_FWD (sym));
1058 default: abort (); 1058 default: emacs_abort ();
1059 } 1059 }
1060} 1060}
1061 1061
@@ -1265,7 +1265,7 @@ set_internal (Lisp_Object symbol, Lisp_Object newval, Lisp_Object where,
1265 store_symval_forwarding (/* sym, */ innercontents, newval, buf); 1265 store_symval_forwarding (/* sym, */ innercontents, newval, buf);
1266 break; 1266 break;
1267 } 1267 }
1268 default: abort (); 1268 default: emacs_abort ();
1269 } 1269 }
1270 return; 1270 return;
1271} 1271}
@@ -1316,7 +1316,7 @@ default_value (Lisp_Object symbol)
1316 /* For other variables, get the current value. */ 1316 /* For other variables, get the current value. */
1317 return do_symval_forwarding (valcontents); 1317 return do_symval_forwarding (valcontents);
1318 } 1318 }
1319 default: abort (); 1319 default: emacs_abort ();
1320 } 1320 }
1321} 1321}
1322 1322
@@ -1414,7 +1414,7 @@ for this variable. */)
1414 else 1414 else
1415 return Fset (symbol, value); 1415 return Fset (symbol, value);
1416 } 1416 }
1417 default: abort (); 1417 default: emacs_abort ();
1418 } 1418 }
1419} 1419}
1420 1420
@@ -1538,7 +1538,7 @@ The function `default-value' gets the default value and `set-default' sets it.
1538 else if (BUFFER_OBJFWDP (valcontents.fwd)) 1538 else if (BUFFER_OBJFWDP (valcontents.fwd))
1539 return variable; 1539 return variable;
1540 break; 1540 break;
1541 default: abort (); 1541 default: emacs_abort ();
1542 } 1542 }
1543 1543
1544 if (sym->constant) 1544 if (sym->constant)
@@ -1611,7 +1611,7 @@ Instead, use `add-hook' and specify t for the LOCAL argument. */)
1611 error ("Symbol %s may not be buffer-local", 1611 error ("Symbol %s may not be buffer-local",
1612 SDATA (SYMBOL_NAME (variable))); 1612 SDATA (SYMBOL_NAME (variable)));
1613 break; 1613 break;
1614 default: abort (); 1614 default: emacs_abort ();
1615 } 1615 }
1616 1616
1617 if (sym->constant) 1617 if (sym->constant)
@@ -1718,7 +1718,7 @@ From now on the default value will apply in this buffer. Return VARIABLE. */)
1718 if (blv->frame_local) 1718 if (blv->frame_local)
1719 return variable; 1719 return variable;
1720 break; 1720 break;
1721 default: abort (); 1721 default: emacs_abort ();
1722 } 1722 }
1723 1723
1724 /* Get rid of this buffer's alist element, if any. */ 1724 /* Get rid of this buffer's alist element, if any. */
@@ -1800,7 +1800,7 @@ frame-local bindings). */)
1800 error ("Symbol %s may not be frame-local", 1800 error ("Symbol %s may not be frame-local",
1801 SDATA (SYMBOL_NAME (variable))); 1801 SDATA (SYMBOL_NAME (variable)));
1802 break; 1802 break;
1803 default: abort (); 1803 default: emacs_abort ();
1804 } 1804 }
1805 1805
1806 if (sym->constant) 1806 if (sym->constant)
@@ -1877,7 +1877,7 @@ BUFFER defaults to the current buffer. */)
1877 } 1877 }
1878 return Qnil; 1878 return Qnil;
1879 } 1879 }
1880 default: abort (); 1880 default: emacs_abort ();
1881 } 1881 }
1882} 1882}
1883 1883
@@ -1912,7 +1912,7 @@ BUFFER defaults to the current buffer. */)
1912 case SYMBOL_FORWARDED: 1912 case SYMBOL_FORWARDED:
1913 /* All BUFFER_OBJFWD slots become local if they are set. */ 1913 /* All BUFFER_OBJFWD slots become local if they are set. */
1914 return (BUFFER_OBJFWDP (SYMBOL_FWD (sym)) ? Qt : Qnil); 1914 return (BUFFER_OBJFWDP (SYMBOL_FWD (sym)) ? Qt : Qnil);
1915 default: abort (); 1915 default: emacs_abort ();
1916 } 1916 }
1917} 1917}
1918 1918
@@ -1956,7 +1956,7 @@ If the current binding is global (the default), the value is nil. */)
1956 return SYMBOL_BLV (sym)->where; 1956 return SYMBOL_BLV (sym)->where;
1957 else 1957 else
1958 return Qnil; 1958 return Qnil;
1959 default: abort (); 1959 default: emacs_abort ();
1960 } 1960 }
1961} 1961}
1962 1962
@@ -2272,7 +2272,7 @@ arithcompare (Lisp_Object num1, Lisp_Object num2, enum comparison comparison)
2272 return Qnil; 2272 return Qnil;
2273 2273
2274 default: 2274 default:
2275 abort (); 2275 emacs_abort ();
2276 } 2276 }
2277} 2277}
2278 2278
diff --git a/src/dired.c b/src/dired.c
index fa293258107..9af5f76821b 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -275,7 +275,7 @@ directory_files_internal (Lisp_Object directory, Lisp_Object full,
275 275
276 /* Some bug somewhere. */ 276 /* Some bug somewhere. */
277 if (nchars > nbytes) 277 if (nchars > nbytes)
278 abort (); 278 emacs_abort ();
279 279
280 STRING_SET_CHARS (fullname, nchars); 280 STRING_SET_CHARS (fullname, nchars);
281 if (nchars == nbytes) 281 if (nchars == nbytes)
diff --git a/src/dispnew.c b/src/dispnew.c
index cac4c2da4c4..17e6c85ac75 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -297,7 +297,7 @@ DEFUN ("dump-redisplay-history", Fdump_redisplay_history,
297void 297void
298__executable_start (void) 298__executable_start (void)
299{ 299{
300 abort (); 300 emacs_abort ();
301} 301}
302#endif 302#endif
303 303
@@ -347,7 +347,7 @@ free_glyph_matrix (struct glyph_matrix *matrix)
347 /* Detect the case that more matrices are freed than were 347 /* Detect the case that more matrices are freed than were
348 allocated. */ 348 allocated. */
349 if (--glyph_matrix_count < 0) 349 if (--glyph_matrix_count < 0)
350 abort (); 350 emacs_abort ();
351 351
352 /* Free glyph memory if MATRIX owns it. */ 352 /* Free glyph memory if MATRIX owns it. */
353 if (matrix->pool == NULL) 353 if (matrix->pool == NULL)
@@ -2339,9 +2339,9 @@ check_glyph_memory (void)
2339 2339
2340 /* Check that nothing is left allocated. */ 2340 /* Check that nothing is left allocated. */
2341 if (glyph_matrix_count) 2341 if (glyph_matrix_count)
2342 abort (); 2342 emacs_abort ();
2343 if (glyph_pool_count) 2343 if (glyph_pool_count)
2344 abort (); 2344 emacs_abort ();
2345} 2345}
2346 2346
2347 2347
@@ -3024,7 +3024,7 @@ check_matrix_pointers (struct glyph_matrix *window_matrix,
3024 { 3024 {
3025 if (!glyph_row_slice_p (window_matrix->rows + i, 3025 if (!glyph_row_slice_p (window_matrix->rows + i,
3026 frame_matrix->rows + j)) 3026 frame_matrix->rows + j))
3027 abort (); 3027 emacs_abort ();
3028 ++i, ++j; 3028 ++i, ++j;
3029 } 3029 }
3030} 3030}
@@ -3453,7 +3453,7 @@ check_current_matrix_flags (struct window *w)
3453 if (!last_seen_p && MATRIX_ROW_BOTTOM_Y (row) >= yb) 3453 if (!last_seen_p && MATRIX_ROW_BOTTOM_Y (row) >= yb)
3454 last_seen_p = 1; 3454 last_seen_p = 1;
3455 else if (last_seen_p && row->enabled_p) 3455 else if (last_seen_p && row->enabled_p)
3456 abort (); 3456 emacs_abort ();
3457 } 3457 }
3458} 3458}
3459 3459
@@ -4809,7 +4809,7 @@ scrolling (struct frame *frame)
4809 struct glyph_matrix *desired_matrix = frame->desired_matrix; 4809 struct glyph_matrix *desired_matrix = frame->desired_matrix;
4810 4810
4811 if (!current_matrix) 4811 if (!current_matrix)
4812 abort (); 4812 emacs_abort ();
4813 4813
4814 /* Compute hash codes of all the lines. Also calculate number of 4814 /* Compute hash codes of all the lines. Also calculate number of
4815 changed lines, number of unchanged lines at the beginning, and 4815 changed lines, number of unchanged lines at the beginning, and
@@ -5477,7 +5477,7 @@ marginal_area_string (struct window *w, enum window_part part,
5477 else if (part == ON_RIGHT_MARGIN) 5477 else if (part == ON_RIGHT_MARGIN)
5478 area = RIGHT_MARGIN_AREA; 5478 area = RIGHT_MARGIN_AREA;
5479 else 5479 else
5480 abort (); 5480 emacs_abort ();
5481 5481
5482 for (i = 0; row->enabled_p && i < w->current_matrix->nrows; ++i, ++row) 5482 for (i = 0; row->enabled_p && i < w->current_matrix->nrows; ++i, ++row)
5483 if (wy >= row->y && wy < MATRIX_ROW_BOTTOM_Y (row)) 5483 if (wy >= row->y && wy < MATRIX_ROW_BOTTOM_Y (row))
@@ -6277,7 +6277,7 @@ init_display (void)
6277 6277
6278 /* Convert the initial frame to use the new display. */ 6278 /* Convert the initial frame to use the new display. */
6279 if (f->output_method != output_initial) 6279 if (f->output_method != output_initial)
6280 abort (); 6280 emacs_abort ();
6281 f->output_method = t->type; 6281 f->output_method = t->type;
6282 f->terminal = t; 6282 f->terminal = t;
6283 6283
diff --git a/src/editfns.c b/src/editfns.c
index a14e043c1bf..2d1a3cbfa0c 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -4263,7 +4263,7 @@ usage: (format STRING &rest OBJECTS) */)
4263 } 4263 }
4264 4264
4265 if (bufsize < p - buf) 4265 if (bufsize < p - buf)
4266 abort (); 4266 emacs_abort ();
4267 4267
4268 if (maybe_combine_byte) 4268 if (maybe_combine_byte)
4269 nchars = multibyte_chars_in_text ((unsigned char *) buf, p - buf); 4269 nchars = multibyte_chars_in_text ((unsigned char *) buf, p - buf);
@@ -4603,7 +4603,7 @@ Transposing beyond buffer boundaries is an error. */)
4603 len1_byte, end2, start2_byte + len2_byte) 4603 len1_byte, end2, start2_byte + len2_byte)
4604 || count_combining_after (BYTE_POS_ADDR (start1_byte), 4604 || count_combining_after (BYTE_POS_ADDR (start1_byte),
4605 len1_byte, end2, start2_byte + len2_byte)) 4605 len1_byte, end2, start2_byte + len2_byte))
4606 abort (); 4606 emacs_abort ();
4607 } 4607 }
4608 else 4608 else
4609 { 4609 {
@@ -4615,7 +4615,7 @@ Transposing beyond buffer boundaries is an error. */)
4615 len2_byte, end1, start1_byte + len1_byte) 4615 len2_byte, end1, start1_byte + len1_byte)
4616 || count_combining_after (BYTE_POS_ADDR (start1_byte), 4616 || count_combining_after (BYTE_POS_ADDR (start1_byte),
4617 len1_byte, end2, start2_byte + len2_byte)) 4617 len1_byte, end2, start2_byte + len2_byte))
4618 abort (); 4618 emacs_abort ();
4619 } 4619 }
4620#endif 4620#endif
4621 4621
diff --git a/src/emacs.c b/src/emacs.c
index dac5edd544f..b242cbf8844 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -340,22 +340,6 @@ memory_warning_signal (int sig)
340 force_auto_save_soon (); 340 force_auto_save_soon ();
341} 341}
342#endif 342#endif
343
344/* We define abort, rather than using it from the library,
345 so that GDB can return from a breakpoint here.
346 MSDOS has its own definition in msdos.c. */
347
348#if ! defined (DOS_NT) && ! defined (NO_ABORT)
349
350void
351abort (void)
352{
353 kill (getpid (), SIGABRT);
354 /* This shouldn't be executed, but it prevents a warning. */
355 exit (1);
356}
357#endif
358
359 343
360/* Code for dealing with Lisp access to the Unix command line. */ 344/* Code for dealing with Lisp access to the Unix command line. */
361 345
@@ -1892,7 +1876,7 @@ sort_args (int argc, char **argv)
1892 } 1876 }
1893 1877
1894 if (best < 0) 1878 if (best < 0)
1895 abort (); 1879 emacs_abort ();
1896 1880
1897 /* Copy the highest priority remaining option, with its args, to NEW. 1881 /* Copy the highest priority remaining option, with its args, to NEW.
1898 Unless it is a duplicate of the previous one. */ 1882 Unless it is a duplicate of the previous one. */
diff --git a/src/eval.c b/src/eval.c
index 3a4953665e3..1015b013a26 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1493,7 +1493,7 @@ See also the function `condition-case'. */)
1493 immediate_quit = handling_signal = 0; 1493 immediate_quit = handling_signal = 0;
1494 abort_on_gc = 0; 1494 abort_on_gc = 0;
1495 if (gc_in_progress || waiting_for_input) 1495 if (gc_in_progress || waiting_for_input)
1496 abort (); 1496 emacs_abort ();
1497 1497
1498#if 0 /* rms: I don't know why this was here, 1498#if 0 /* rms: I don't know why this was here,
1499 but it is surely wrong for an error that is handled. */ 1499 but it is surely wrong for an error that is handled. */
@@ -1590,7 +1590,7 @@ void
1590xsignal (Lisp_Object error_symbol, Lisp_Object data) 1590xsignal (Lisp_Object error_symbol, Lisp_Object data)
1591{ 1591{
1592 Fsignal (error_symbol, data); 1592 Fsignal (error_symbol, data);
1593 abort (); 1593 emacs_abort ();
1594} 1594}
1595 1595
1596/* Like xsignal, but takes 0, 1, 2, or 3 args instead of a list. */ 1596/* Like xsignal, but takes 0, 1, 2, or 3 args instead of a list. */
@@ -2043,7 +2043,7 @@ eval_sub (Lisp_Object form)
2043 struct gcpro gcpro1, gcpro2, gcpro3; 2043 struct gcpro gcpro1, gcpro2, gcpro3;
2044 2044
2045 if (handling_signal) 2045 if (handling_signal)
2046 abort (); 2046 emacs_abort ();
2047 2047
2048 if (SYMBOLP (form)) 2048 if (SYMBOLP (form))
2049 { 2049 {
@@ -2207,7 +2207,7 @@ eval_sub (Lisp_Object form)
2207 is supported by this code. We need to either rewrite the 2207 is supported by this code. We need to either rewrite the
2208 subr to use a different argument protocol, or add more 2208 subr to use a different argument protocol, or add more
2209 cases to this switch. */ 2209 cases to this switch. */
2210 abort (); 2210 emacs_abort ();
2211 } 2211 }
2212 } 2212 }
2213 } 2213 }
@@ -2850,7 +2850,7 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */)
2850 /* If a subr takes more than 8 arguments without using MANY 2850 /* If a subr takes more than 8 arguments without using MANY
2851 or UNEVALLED, we need to extend this function to support it. 2851 or UNEVALLED, we need to extend this function to support it.
2852 Until this is done, there is no way to call the function. */ 2852 Until this is done, there is no way to call the function. */
2853 abort (); 2853 emacs_abort ();
2854 } 2854 }
2855 } 2855 }
2856 } 2856 }
@@ -2981,7 +2981,7 @@ funcall_lambda (Lisp_Object fun, ptrdiff_t nargs,
2981 lexenv = Qnil; 2981 lexenv = Qnil;
2982 } 2982 }
2983 else 2983 else
2984 abort (); 2984 emacs_abort ();
2985 2985
2986 i = optional = rest = 0; 2986 i = optional = rest = 0;
2987 for (; CONSP (syms_left); syms_left = XCDR (syms_left)) 2987 for (; CONSP (syms_left); syms_left = XCDR (syms_left))
@@ -3195,7 +3195,7 @@ specbind (Lisp_Object symbol, Lisp_Object value)
3195 set_internal (symbol, value, Qnil, 1); 3195 set_internal (symbol, value, Qnil, 1);
3196 break; 3196 break;
3197 } 3197 }
3198 default: abort (); 3198 default: emacs_abort ();
3199 } 3199 }
3200} 3200}
3201 3201
diff --git a/src/fileio.c b/src/fileio.c
index 7466914af1c..d193d2ed19f 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -1294,7 +1294,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
1294 if (!(IS_DIRECTORY_SEP (target[0]) && IS_DIRECTORY_SEP (target[1]))) 1294 if (!(IS_DIRECTORY_SEP (target[0]) && IS_DIRECTORY_SEP (target[1])))
1295#endif /* WINDOWSNT */ 1295#endif /* WINDOWSNT */
1296 { 1296 {
1297 if (!drive) abort (); 1297 if (!drive) emacs_abort ();
1298 target -= 2; 1298 target -= 2;
1299 target[0] = DRIVE_LETTER (drive); 1299 target[0] = DRIVE_LETTER (drive);
1300 target[1] = ':'; 1300 target[1] = ':';
diff --git a/src/fns.c b/src/fns.c
index 4d82e4e6e1d..fc0044106cd 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -2953,7 +2953,7 @@ into shorter lines. */)
2953 encoded, length, NILP (no_line_break), 2953 encoded, length, NILP (no_line_break),
2954 !NILP (BVAR (current_buffer, enable_multibyte_characters))); 2954 !NILP (BVAR (current_buffer, enable_multibyte_characters)));
2955 if (encoded_length > allength) 2955 if (encoded_length > allength)
2956 abort (); 2956 emacs_abort ();
2957 2957
2958 if (encoded_length < 0) 2958 if (encoded_length < 0)
2959 { 2959 {
@@ -3009,7 +3009,7 @@ into shorter lines. */)
3009 encoded, length, NILP (no_line_break), 3009 encoded, length, NILP (no_line_break),
3010 STRING_MULTIBYTE (string)); 3010 STRING_MULTIBYTE (string));
3011 if (encoded_length > allength) 3011 if (encoded_length > allength)
3012 abort (); 3012 emacs_abort ();
3013 3013
3014 if (encoded_length < 0) 3014 if (encoded_length < 0)
3015 { 3015 {
@@ -3154,7 +3154,7 @@ If the region can't be decoded, signal an error and don't modify the buffer. */
3154 decoded, length, 3154 decoded, length,
3155 multibyte, &inserted_chars); 3155 multibyte, &inserted_chars);
3156 if (decoded_length > allength) 3156 if (decoded_length > allength)
3157 abort (); 3157 emacs_abort ();
3158 3158
3159 if (decoded_length < 0) 3159 if (decoded_length < 0)
3160 { 3160 {
@@ -3204,7 +3204,7 @@ DEFUN ("base64-decode-string", Fbase64_decode_string, Sbase64_decode_string,
3204 decoded_length = base64_decode_1 (SSDATA (string), decoded, length, 3204 decoded_length = base64_decode_1 (SSDATA (string), decoded, length,
3205 0, NULL); 3205 0, NULL);
3206 if (decoded_length > length) 3206 if (decoded_length > length)
3207 abort (); 3207 emacs_abort ();
3208 else if (decoded_length >= 0) 3208 else if (decoded_length >= 0)
3209 decoded_string = make_unibyte_string (decoded, decoded_length); 3209 decoded_string = make_unibyte_string (decoded, decoded_length);
3210 else 3210 else
@@ -3960,7 +3960,7 @@ sweep_weak_table (struct Lisp_Hash_Table *h, int remove_entries_p)
3960 else if (EQ (h->weak, Qkey_and_value)) 3960 else if (EQ (h->weak, Qkey_and_value))
3961 remove_p = !(key_known_to_survive_p && value_known_to_survive_p); 3961 remove_p = !(key_known_to_survive_p && value_known_to_survive_p);
3962 else 3962 else
3963 abort (); 3963 emacs_abort ();
3964 3964
3965 next = HASH_NEXT (h, i); 3965 next = HASH_NEXT (h, i);
3966 3966
@@ -4256,7 +4256,7 @@ sxhash (Lisp_Object obj, int depth)
4256 break; 4256 break;
4257 4257
4258 default: 4258 default:
4259 abort (); 4259 emacs_abort ();
4260 } 4260 }
4261 4261
4262 return hash; 4262 return hash;
diff --git a/src/frame.c b/src/frame.c
index 968cb4905a2..9b12842bf89 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -214,7 +214,7 @@ See also `frame-live-p'. */)
214 case output_ns: 214 case output_ns:
215 return Qns; 215 return Qns;
216 default: 216 default:
217 abort (); 217 emacs_abort ();
218 } 218 }
219} 219}
220 220
@@ -620,7 +620,7 @@ affects all frames on the same terminal device. */)
620#ifdef MSDOS 620#ifdef MSDOS
621 if (sf->output_method != output_msdos_raw 621 if (sf->output_method != output_msdos_raw
622 && sf->output_method != output_termcap) 622 && sf->output_method != output_termcap)
623 abort (); 623 emacs_abort ();
624#else /* not MSDOS */ 624#else /* not MSDOS */
625 625
626#ifdef WINDOWSNT /* This should work now! */ 626#ifdef WINDOWSNT /* This should work now! */
@@ -767,7 +767,7 @@ do_switch_frame (Lisp_Object frame, int track, int for_deletion, Lisp_Object nor
767 Lisp_Object focus; 767 Lisp_Object focus;
768 768
769 if (!FRAMEP (XCAR (tail))) 769 if (!FRAMEP (XCAR (tail)))
770 abort (); 770 emacs_abort ();
771 771
772 focus = FRAME_FOCUS_FRAME (XFRAME (XCAR (tail))); 772 focus = FRAME_FOCUS_FRAME (XFRAME (XCAR (tail)));
773 773
@@ -897,7 +897,7 @@ next_frame (Lisp_Object frame, Lisp_Object minibuf)
897 897
898 /* There must always be at least one frame in Vframe_list. */ 898 /* There must always be at least one frame in Vframe_list. */
899 if (! CONSP (Vframe_list)) 899 if (! CONSP (Vframe_list))
900 abort (); 900 emacs_abort ();
901 901
902 /* If this frame is dead, it won't be in Vframe_list, and we'll loop 902 /* If this frame is dead, it won't be in Vframe_list, and we'll loop
903 forever. Forestall that. */ 903 forever. Forestall that. */
@@ -975,7 +975,7 @@ prev_frame (Lisp_Object frame, Lisp_Object minibuf)
975 975
976 /* There must always be at least one frame in Vframe_list. */ 976 /* There must always be at least one frame in Vframe_list. */
977 if (! CONSP (Vframe_list)) 977 if (! CONSP (Vframe_list))
978 abort (); 978 emacs_abort ();
979 979
980 prev = Qnil; 980 prev = Qnil;
981 for (tail = Vframe_list; CONSP (tail); tail = XCDR (tail)) 981 for (tail = Vframe_list; CONSP (tail); tail = XCDR (tail))
@@ -984,7 +984,7 @@ prev_frame (Lisp_Object frame, Lisp_Object minibuf)
984 984
985 f = XCAR (tail); 985 f = XCAR (tail);
986 if (!FRAMEP (f)) 986 if (!FRAMEP (f))
987 abort (); 987 emacs_abort ();
988 988
989 if (EQ (frame, f) && !NILP (prev)) 989 if (EQ (frame, f) && !NILP (prev))
990 return prev; 990 return prev;
@@ -1385,7 +1385,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
1385 1385
1386 this = XCAR (frames); 1386 this = XCAR (frames);
1387 if (!FRAMEP (this)) 1387 if (!FRAMEP (this))
1388 abort (); 1388 emacs_abort ();
1389 f1 = XFRAME (this); 1389 f1 = XFRAME (this);
1390 1390
1391 if (kb == FRAME_KBOARD (f1)) 1391 if (kb == FRAME_KBOARD (f1))
@@ -1421,7 +1421,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
1421 1421
1422 this = XCAR (frames); 1422 this = XCAR (frames);
1423 if (!FRAMEP (this)) 1423 if (!FRAMEP (this))
1424 abort (); 1424 emacs_abort ();
1425 f1 = XFRAME (this); 1425 f1 = XFRAME (this);
1426 1426
1427 /* Consider only frames on the same kboard 1427 /* Consider only frames on the same kboard
@@ -1447,7 +1447,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
1447 that is prohibited at the top; you can't delete surrogate 1447 that is prohibited at the top; you can't delete surrogate
1448 minibuffer frames. */ 1448 minibuffer frames. */
1449 if (NILP (frame_with_minibuf)) 1449 if (NILP (frame_with_minibuf))
1450 abort (); 1450 emacs_abort ();
1451 1451
1452 kset_default_minibuffer_frame (kb, frame_with_minibuf); 1452 kset_default_minibuffer_frame (kb, frame_with_minibuf);
1453 } 1453 }
@@ -2108,7 +2108,7 @@ store_frame_param (struct frame *f, Lisp_Object prop, Lisp_Object val)
2108 swap_in_global_binding (sym); 2108 swap_in_global_binding (sym);
2109 break; 2109 break;
2110 } 2110 }
2111 default: abort (); 2111 default: emacs_abort ();
2112 } 2112 }
2113 } 2113 }
2114 2114
@@ -3835,7 +3835,7 @@ x_get_arg (Display_Info *dpyinfo, Lisp_Object alist, Lisp_Object param,
3835 } 3835 }
3836 3836
3837 default: 3837 default:
3838 abort (); 3838 emacs_abort ();
3839 } 3839 }
3840 } 3840 }
3841 else 3841 else
diff --git a/src/frame.h b/src/frame.h
index 1fe3ebd9182..94498e9efcf 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -981,7 +981,7 @@ extern Lisp_Object selected_frame;
981 ((FRAMEP (selected_frame) \ 981 ((FRAMEP (selected_frame) \
982 && FRAME_LIVE_P (XFRAME (selected_frame))) \ 982 && FRAME_LIVE_P (XFRAME (selected_frame))) \
983 ? XFRAME (selected_frame) \ 983 ? XFRAME (selected_frame) \
984 : (abort (), (struct frame *) 0)) 984 : (emacs_abort (), (struct frame *) 0))
985 985
986 986
987/*********************************************************************** 987/***********************************************************************
diff --git a/src/ftfont.c b/src/ftfont.c
index e16f967f596..10b53411248 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -1630,7 +1630,7 @@ ftfont_get_metrics (MFLTFont *font, MFLTGlyphString *gstring,
1630 FT_Glyph_Metrics *m; 1630 FT_Glyph_Metrics *m;
1631 1631
1632 if (FT_Load_Glyph (ft_face, g->code, FT_LOAD_DEFAULT) != 0) 1632 if (FT_Load_Glyph (ft_face, g->code, FT_LOAD_DEFAULT) != 0)
1633 abort (); 1633 emacs_abort ();
1634 m = &ft_face->glyph->metrics; 1634 m = &ft_face->glyph->metrics;
1635 if (flt_font_ft->matrix) 1635 if (flt_font_ft->matrix)
1636 { 1636 {
diff --git a/src/gtkutil.c b/src/gtkutil.c
index f0d2c022f0c..3bce5be9cd0 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -254,7 +254,7 @@ void
254free_widget_value (widget_value *wv) 254free_widget_value (widget_value *wv)
255{ 255{
256 if (wv->free_list) 256 if (wv->free_list)
257 abort (); 257 emacs_abort ();
258 258
259 if (malloc_cpt > 25) 259 if (malloc_cpt > 25)
260 { 260 {
@@ -3519,7 +3519,7 @@ xg_store_widget_in_map (GtkWidget *w)
3519 } 3519 }
3520 3520
3521 /* Should never end up here */ 3521 /* Should never end up here */
3522 abort (); 3522 emacs_abort ();
3523} 3523}
3524 3524
3525/* Remove pointer at IDX from id_to_widget. 3525/* Remove pointer at IDX from id_to_widget.
@@ -4087,7 +4087,7 @@ xg_tool_bar_menu_proxy (GtkToolItem *toolitem, gpointer user_data)
4087 else 4087 else
4088 { 4088 {
4089 fprintf (stderr, "internal error: GTK_IMAGE_PIXBUF failed\n"); 4089 fprintf (stderr, "internal error: GTK_IMAGE_PIXBUF failed\n");
4090 abort (); 4090 emacs_abort ();
4091 } 4091 }
4092 } 4092 }
4093 else if (store_type == GTK_IMAGE_ICON_NAME) 4093 else if (store_type == GTK_IMAGE_ICON_NAME)
@@ -4102,7 +4102,7 @@ xg_tool_bar_menu_proxy (GtkToolItem *toolitem, gpointer user_data)
4102 else 4102 else
4103 { 4103 {
4104 fprintf (stderr, "internal error: store_type is %d\n", store_type); 4104 fprintf (stderr, "internal error: store_type is %d\n", store_type);
4105 abort (); 4105 emacs_abort ();
4106 } 4106 }
4107 } 4107 }
4108 if (wmenuimage) 4108 if (wmenuimage)
diff --git a/src/image.c b/src/image.c
index 3e021677e09..fc99f882973 100644
--- a/src/image.c
+++ b/src/image.c
@@ -841,7 +841,7 @@ parse_image_spec (Lisp_Object spec, struct image_keyword *keywords,
841 break; 841 break;
842 842
843 default: 843 default:
844 abort (); 844 emacs_abort ();
845 break; 845 break;
846 } 846 }
847 847
diff --git a/src/indent.c b/src/indent.c
index 160b8c7479e..c60315a7f6e 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -122,7 +122,7 @@ disptab_matches_widthtab (struct Lisp_Char_Table *disptab, struct Lisp_Vector *w
122 int i; 122 int i;
123 123
124 if (widthtab->header.size != 256) 124 if (widthtab->header.size != 256)
125 abort (); 125 emacs_abort ();
126 126
127 for (i = 0; i < 256; i++) 127 for (i = 0; i < 256; i++)
128 if (character_width (i, disptab) 128 if (character_width (i, disptab)
@@ -144,7 +144,7 @@ recompute_width_table (struct buffer *buf, struct Lisp_Char_Table *disptab)
144 bset_width_table (buf, Fmake_vector (make_number (256), make_number (0))); 144 bset_width_table (buf, Fmake_vector (make_number (256), make_number (0)));
145 widthtab = XVECTOR (BVAR (buf, width_table)); 145 widthtab = XVECTOR (BVAR (buf, width_table));
146 if (widthtab->header.size != 256) 146 if (widthtab->header.size != 256)
147 abort (); 147 emacs_abort ();
148 148
149 for (i = 0; i < 256; i++) 149 for (i = 0; i < 256; i++)
150 XSETFASTINT (widthtab->contents[i], character_width (i, disptab)); 150 XSETFASTINT (widthtab->contents[i], character_width (i, disptab));
diff --git a/src/insdel.c b/src/insdel.c
index da258c19a1e..604a9bbf3df 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -69,13 +69,13 @@ check_markers (void)
69 for (tail = BUF_MARKERS (current_buffer); tail; tail = tail->next) 69 for (tail = BUF_MARKERS (current_buffer); tail; tail = tail->next)
70 { 70 {
71 if (tail->buffer->text != current_buffer->text) 71 if (tail->buffer->text != current_buffer->text)
72 abort (); 72 emacs_abort ();
73 if (tail->charpos > Z) 73 if (tail->charpos > Z)
74 abort (); 74 emacs_abort ();
75 if (tail->bytepos > Z_BYTE) 75 if (tail->bytepos > Z_BYTE)
76 abort (); 76 emacs_abort ();
77 if (multibyte && ! CHAR_HEAD_P (FETCH_BYTE (tail->bytepos))) 77 if (multibyte && ! CHAR_HEAD_P (FETCH_BYTE (tail->bytepos)))
78 abort (); 78 emacs_abort ();
79 } 79 }
80} 80}
81 81
@@ -808,7 +808,7 @@ insert_1_both (const char *string,
808#ifdef BYTE_COMBINING_DEBUG 808#ifdef BYTE_COMBINING_DEBUG
809 if (count_combining_before (string, nbytes, PT, PT_BYTE) 809 if (count_combining_before (string, nbytes, PT, PT_BYTE)
810 || count_combining_after (string, nbytes, PT, PT_BYTE)) 810 || count_combining_after (string, nbytes, PT, PT_BYTE))
811 abort (); 811 emacs_abort ();
812#endif 812#endif
813 813
814 /* Record deletion of the surrounding text that combines with 814 /* Record deletion of the surrounding text that combines with
@@ -943,7 +943,7 @@ insert_from_string_1 (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte,
943 the text that has been stored by copy_text. */ 943 the text that has been stored by copy_text. */
944 if (count_combining_before (GPT_ADDR, outgoing_nbytes, PT, PT_BYTE) 944 if (count_combining_before (GPT_ADDR, outgoing_nbytes, PT, PT_BYTE)
945 || count_combining_after (GPT_ADDR, outgoing_nbytes, PT, PT_BYTE)) 945 || count_combining_after (GPT_ADDR, outgoing_nbytes, PT, PT_BYTE))
946 abort (); 946 emacs_abort ();
947#endif 947#endif
948 948
949 record_insert (PT, nchars); 949 record_insert (PT, nchars);
@@ -1126,7 +1126,7 @@ insert_from_buffer_1 (struct buffer *buf,
1126 the text that has been stored by copy_text. */ 1126 the text that has been stored by copy_text. */
1127 if (count_combining_before (GPT_ADDR, outgoing_nbytes, PT, PT_BYTE) 1127 if (count_combining_before (GPT_ADDR, outgoing_nbytes, PT, PT_BYTE)
1128 || count_combining_after (GPT_ADDR, outgoing_nbytes, PT, PT_BYTE)) 1128 || count_combining_after (GPT_ADDR, outgoing_nbytes, PT, PT_BYTE))
1129 abort (); 1129 emacs_abort ();
1130#endif 1130#endif
1131 1131
1132 record_insert (PT, nchars); 1132 record_insert (PT, nchars);
@@ -1187,7 +1187,7 @@ adjust_after_replace (ptrdiff_t from, ptrdiff_t from_byte,
1187#ifdef BYTE_COMBINING_DEBUG 1187#ifdef BYTE_COMBINING_DEBUG
1188 if (count_combining_before (GPT_ADDR, len_byte, from, from_byte) 1188 if (count_combining_before (GPT_ADDR, len_byte, from, from_byte)
1189 || count_combining_after (GPT_ADDR, len_byte, from, from_byte)) 1189 || count_combining_after (GPT_ADDR, len_byte, from, from_byte))
1190 abort (); 1190 emacs_abort ();
1191#endif 1191#endif
1192 1192
1193 if (STRINGP (prev_text)) 1193 if (STRINGP (prev_text))
@@ -1370,7 +1370,7 @@ replace_range (ptrdiff_t from, ptrdiff_t to, Lisp_Object new,
1370 the text that has been stored by copy_text. */ 1370 the text that has been stored by copy_text. */
1371 if (count_combining_before (GPT_ADDR, outgoing_insbytes, from, from_byte) 1371 if (count_combining_before (GPT_ADDR, outgoing_insbytes, from, from_byte)
1372 || count_combining_after (GPT_ADDR, outgoing_insbytes, from, from_byte)) 1372 || count_combining_after (GPT_ADDR, outgoing_insbytes, from, from_byte))
1373 abort (); 1373 emacs_abort ();
1374#endif 1374#endif
1375 1375
1376 if (! EQ (BVAR (current_buffer, undo_list), Qt)) 1376 if (! EQ (BVAR (current_buffer, undo_list), Qt))
@@ -1496,7 +1496,7 @@ replace_range_2 (ptrdiff_t from, ptrdiff_t from_byte,
1496 the text that has been stored by copy_text. */ 1496 the text that has been stored by copy_text. */
1497 if (count_combining_before (GPT_ADDR, insbytes, from, from_byte) 1497 if (count_combining_before (GPT_ADDR, insbytes, from, from_byte)
1498 || count_combining_after (GPT_ADDR, insbytes, from, from_byte)) 1498 || count_combining_after (GPT_ADDR, insbytes, from, from_byte))
1499 abort (); 1499 emacs_abort ();
1500#endif 1500#endif
1501 1501
1502 GAP_SIZE -= insbytes; 1502 GAP_SIZE -= insbytes;
@@ -1704,7 +1704,7 @@ del_range_2 (ptrdiff_t from, ptrdiff_t from_byte,
1704#ifdef BYTE_COMBINING_DEBUG 1704#ifdef BYTE_COMBINING_DEBUG
1705 if (count_combining_before (BUF_BYTE_ADDRESS (current_buffer, to_byte), 1705 if (count_combining_before (BUF_BYTE_ADDRESS (current_buffer, to_byte),
1706 Z_BYTE - to_byte, from, from_byte)) 1706 Z_BYTE - to_byte, from, from_byte))
1707 abort (); 1707 emacs_abort ();
1708#endif 1708#endif
1709 1709
1710 if (ret_string || ! EQ (BVAR (current_buffer, undo_list), Qt)) 1710 if (ret_string || ! EQ (BVAR (current_buffer, undo_list), Qt))
diff --git a/src/intervals.c b/src/intervals.c
index 49d61b2f9b0..e508f968963 100644
--- a/src/intervals.c
+++ b/src/intervals.c
@@ -199,13 +199,13 @@ intervals_equal (INTERVAL i0, INTERVAL i1)
199 i0_sym = XCAR (i0_cdr); 199 i0_sym = XCAR (i0_cdr);
200 i0_cdr = XCDR (i0_cdr); 200 i0_cdr = XCDR (i0_cdr);
201 if (!CONSP (i0_cdr)) 201 if (!CONSP (i0_cdr))
202 return 0; /* abort (); */ 202 return 0;
203 i1_val = i1->plist; 203 i1_val = i1->plist;
204 while (CONSP (i1_val) && !EQ (XCAR (i1_val), i0_sym)) 204 while (CONSP (i1_val) && !EQ (XCAR (i1_val), i0_sym))
205 { 205 {
206 i1_val = XCDR (i1_val); 206 i1_val = XCDR (i1_val);
207 if (!CONSP (i1_val)) 207 if (!CONSP (i1_val))
208 return 0; /* abort (); */ 208 return 0;
209 i1_val = XCDR (i1_val); 209 i1_val = XCDR (i1_val);
210 } 210 }
211 211
@@ -223,7 +223,7 @@ intervals_equal (INTERVAL i0, INTERVAL i1)
223 223
224 i1_cdr = XCDR (i1_cdr); 224 i1_cdr = XCDR (i1_cdr);
225 if (!CONSP (i1_cdr)) 225 if (!CONSP (i1_cdr))
226 return 0; /* abort (); */ 226 return 0;
227 i1_cdr = XCDR (i1_cdr); 227 i1_cdr = XCDR (i1_cdr);
228 } 228 }
229 229
@@ -1253,7 +1253,7 @@ delete_interval (register INTERVAL i)
1253 else if (STRINGP (owner)) 1253 else if (STRINGP (owner))
1254 set_string_intervals (owner, parent); 1254 set_string_intervals (owner, parent);
1255 else 1255 else
1256 abort (); 1256 emacs_abort ();
1257 1257
1258 return; 1258 return;
1259 } 1259 }
@@ -1408,7 +1408,7 @@ offset_intervals (struct buffer *buffer, ptrdiff_t start, ptrdiff_t length)
1408 start, length); 1408 start, length);
1409 else 1409 else
1410 { 1410 {
1411 IF_LINT (if (length < - TYPE_MAXIMUM (ptrdiff_t)) abort ();) 1411 lint_assume (- TYPE_MAXIMUM (ptrdiff_t) <= length);
1412 adjust_intervals_for_deletion (buffer, start, -length); 1412 adjust_intervals_for_deletion (buffer, start, -length);
1413 } 1413 }
1414} 1414}
@@ -1468,7 +1468,7 @@ merge_interval_right (register INTERVAL i)
1468 1468
1469 /* This must be the rightmost or last interval and cannot 1469 /* This must be the rightmost or last interval and cannot
1470 be merged right. The caller should have known. */ 1470 be merged right. The caller should have known. */
1471 abort (); 1471 emacs_abort ();
1472} 1472}
1473 1473
1474/* Merge interval I with its lexicographic predecessor. The resulting 1474/* Merge interval I with its lexicographic predecessor. The resulting
@@ -1524,7 +1524,7 @@ merge_interval_left (register INTERVAL i)
1524 1524
1525 /* This must be the leftmost or first interval and cannot 1525 /* This must be the leftmost or first interval and cannot
1526 be merged left. The caller should have known. */ 1526 be merged left. The caller should have known. */
1527 abort (); 1527 emacs_abort ();
1528} 1528}
1529 1529
1530/* Create a copy of SOURCE but with the default value of UP. */ 1530/* Create a copy of SOURCE but with the default value of UP. */
@@ -2170,7 +2170,7 @@ get_property_and_range (ptrdiff_t pos, Lisp_Object prop, Lisp_Object *val,
2170 else if (STRINGP (object)) 2170 else if (STRINGP (object))
2171 i = find_interval (string_intervals (object), pos); 2171 i = find_interval (string_intervals (object), pos);
2172 else 2172 else
2173 abort (); 2173 emacs_abort ();
2174 2174
2175 if (!i || (i->position + LENGTH (i) <= pos)) 2175 if (!i || (i->position + LENGTH (i) <= pos))
2176 return 0; 2176 return 0;
@@ -2209,7 +2209,7 @@ get_local_map (register ptrdiff_t position, register struct buffer *buffer,
2209 2209
2210 /* Perhaps we should just change `position' to the limit. */ 2210 /* Perhaps we should just change `position' to the limit. */
2211 if (position > BUF_ZV (buffer) || position < BUF_BEGV (buffer)) 2211 if (position > BUF_ZV (buffer) || position < BUF_BEGV (buffer))
2212 abort (); 2212 emacs_abort ();
2213 2213
2214 /* Ignore narrowing, so that a local map continues to be valid even if 2214 /* Ignore narrowing, so that a local map continues to be valid even if
2215 the visible region contains no characters and hence no properties. */ 2215 the visible region contains no characters and hence no properties. */
diff --git a/src/keyboard.c b/src/keyboard.c
index 464c3ae0d66..fe5372e008c 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -1023,7 +1023,7 @@ restore_kboard_configuration (Lisp_Object was_locked)
1023 pop_kboard (); 1023 pop_kboard ();
1024 /* The pop should not change the kboard. */ 1024 /* The pop should not change the kboard. */
1025 if (single_kboard && current_kboard != prev) 1025 if (single_kboard && current_kboard != prev)
1026 abort (); 1026 emacs_abort ();
1027 } 1027 }
1028 return Qnil; 1028 return Qnil;
1029} 1029}
@@ -2605,13 +2605,13 @@ read_char (int commandflag, ptrdiff_t nmaps, Lisp_Object *maps,
2605 Lisp_Object last = KVAR (kb, kbd_queue); 2605 Lisp_Object last = KVAR (kb, kbd_queue);
2606 /* We shouldn't get here if we were in single-kboard mode! */ 2606 /* We shouldn't get here if we were in single-kboard mode! */
2607 if (single_kboard) 2607 if (single_kboard)
2608 abort (); 2608 emacs_abort ();
2609 if (CONSP (last)) 2609 if (CONSP (last))
2610 { 2610 {
2611 while (CONSP (XCDR (last))) 2611 while (CONSP (XCDR (last)))
2612 last = XCDR (last); 2612 last = XCDR (last);
2613 if (!NILP (XCDR (last))) 2613 if (!NILP (XCDR (last)))
2614 abort (); 2614 emacs_abort ();
2615 } 2615 }
2616 if (!CONSP (last)) 2616 if (!CONSP (last))
2617 kset_kbd_queue (kb, Fcons (c, Qnil)); 2617 kset_kbd_queue (kb, Fcons (c, Qnil));
@@ -2784,7 +2784,7 @@ read_char (int commandflag, ptrdiff_t nmaps, Lisp_Object *maps,
2784 if (current_kboard->kbd_queue_has_data) 2784 if (current_kboard->kbd_queue_has_data)
2785 { 2785 {
2786 if (!CONSP (KVAR (current_kboard, kbd_queue))) 2786 if (!CONSP (KVAR (current_kboard, kbd_queue)))
2787 abort (); 2787 emacs_abort ();
2788 c = XCAR (KVAR (current_kboard, kbd_queue)); 2788 c = XCAR (KVAR (current_kboard, kbd_queue));
2789 kset_kbd_queue (current_kboard, 2789 kset_kbd_queue (current_kboard,
2790 XCDR (KVAR (current_kboard, kbd_queue))); 2790 XCDR (KVAR (current_kboard, kbd_queue)));
@@ -2851,7 +2851,7 @@ read_char (int commandflag, ptrdiff_t nmaps, Lisp_Object *maps,
2851 while (CONSP (XCDR (last))) 2851 while (CONSP (XCDR (last)))
2852 last = XCDR (last); 2852 last = XCDR (last);
2853 if (!NILP (XCDR (last))) 2853 if (!NILP (XCDR (last)))
2854 abort (); 2854 emacs_abort ();
2855 } 2855 }
2856 if (!CONSP (last)) 2856 if (!CONSP (last))
2857 kset_kbd_queue (kb, Fcons (c, Qnil)); 2857 kset_kbd_queue (kb, Fcons (c, Qnil));
@@ -3560,7 +3560,7 @@ kbd_buffer_store_event_hold (register struct input_event *event,
3560 struct input_event *hold_quit) 3560 struct input_event *hold_quit)
3561{ 3561{
3562 if (event->kind == NO_EVENT) 3562 if (event->kind == NO_EVENT)
3563 abort (); 3563 emacs_abort ();
3564 3564
3565 if (hold_quit && hold_quit->kind != NO_EVENT) 3565 if (hold_quit && hold_quit->kind != NO_EVENT)
3566 return; 3566 return;
@@ -3955,7 +3955,7 @@ kbd_buffer_get_event (KBOARD **kbp,
3955#else 3955#else
3956 /* We're getting selection request events, but we don't have 3956 /* We're getting selection request events, but we don't have
3957 a window system. */ 3957 a window system. */
3958 abort (); 3958 emacs_abort ();
3959#endif 3959#endif
3960 } 3960 }
3961 3961
@@ -4192,7 +4192,7 @@ kbd_buffer_get_event (KBOARD **kbp,
4192 else 4192 else
4193 /* We were promised by the above while loop that there was 4193 /* We were promised by the above while loop that there was
4194 something for us to read! */ 4194 something for us to read! */
4195 abort (); 4195 emacs_abort ();
4196 4196
4197 input_pending = readable_events (0); 4197 input_pending = readable_events (0);
4198 4198
@@ -4261,7 +4261,7 @@ process_special_events (void)
4261#else 4261#else
4262 /* We're getting selection request events, but we don't have 4262 /* We're getting selection request events, but we don't have
4263 a window system. */ 4263 a window system. */
4264 abort (); 4264 emacs_abort ();
4265#endif 4265#endif
4266 } 4266 }
4267 } 4267 }
@@ -5614,7 +5614,7 @@ make_lispy_event (struct input_event *event)
5614 else if (FRAMEP (event->frame_or_window)) 5614 else if (FRAMEP (event->frame_or_window))
5615 f = XFRAME (event->frame_or_window); 5615 f = XFRAME (event->frame_or_window);
5616 else 5616 else
5617 abort (); 5617 emacs_abort ();
5618 5618
5619 if (FRAME_WINDOW_P (f)) 5619 if (FRAME_WINDOW_P (f))
5620 fuzz = double_click_fuzz; 5620 fuzz = double_click_fuzz;
@@ -5721,7 +5721,7 @@ make_lispy_event (struct input_event *event)
5721 else 5721 else
5722 /* Every mouse event should either have the down_modifier or 5722 /* Every mouse event should either have the down_modifier or
5723 the up_modifier set. */ 5723 the up_modifier set. */
5724 abort (); 5724 emacs_abort ();
5725 5725
5726 { 5726 {
5727 /* Get the symbol we should use for the mouse click. */ 5727 /* Get the symbol we should use for the mouse click. */
@@ -5782,7 +5782,7 @@ make_lispy_event (struct input_event *event)
5782 else if (FRAMEP (event->frame_or_window)) 5782 else if (FRAMEP (event->frame_or_window))
5783 fr = XFRAME (event->frame_or_window); 5783 fr = XFRAME (event->frame_or_window);
5784 else 5784 else
5785 abort (); 5785 emacs_abort ();
5786 5786
5787 fuzz = FRAME_WINDOW_P (fr) 5787 fuzz = FRAME_WINDOW_P (fr)
5788 ? double_click_fuzz : double_click_fuzz / 8; 5788 ? double_click_fuzz : double_click_fuzz / 8;
@@ -5802,7 +5802,7 @@ make_lispy_event (struct input_event *event)
5802 else 5802 else
5803 /* Every wheel event should either have the down_modifier or 5803 /* Every wheel event should either have the down_modifier or
5804 the up_modifier set. */ 5804 the up_modifier set. */
5805 abort (); 5805 emacs_abort ();
5806 5806
5807 if (event->kind == HORIZ_WHEEL_EVENT) 5807 if (event->kind == HORIZ_WHEEL_EVENT)
5808 symbol_num += 2; 5808 symbol_num += 2;
@@ -5971,7 +5971,7 @@ make_lispy_event (struct input_event *event)
5971 { 5971 {
5972 char *name = find_user_signal_name (event->code); 5972 char *name = find_user_signal_name (event->code);
5973 if (!name) 5973 if (!name)
5974 abort (); 5974 emacs_abort ();
5975 return intern (name); 5975 return intern (name);
5976 } 5976 }
5977 5977
@@ -6052,7 +6052,7 @@ make_lispy_event (struct input_event *event)
6052 6052
6053 /* The 'kind' field of the event is something we don't recognize. */ 6053 /* The 'kind' field of the event is something we don't recognize. */
6054 default: 6054 default:
6055 abort (); 6055 emacs_abort ();
6056 } 6056 }
6057} 6057}
6058 6058
@@ -6229,7 +6229,7 @@ apply_modifiers_uncached (int modifiers, char *base, int base_len, int base_len_
6229 /* Only the event queue may use the `up' modifier; it should always 6229 /* Only the event queue may use the `up' modifier; it should always
6230 be turned into a click or drag event before presented to lisp code. */ 6230 be turned into a click or drag event before presented to lisp code. */
6231 if (modifiers & up_modifier) 6231 if (modifiers & up_modifier)
6232 abort (); 6232 emacs_abort ();
6233 6233
6234 if (modifiers & alt_modifier) { *p++ = 'A'; *p++ = '-'; } 6234 if (modifiers & alt_modifier) { *p++ = 'A'; *p++ = '-'; }
6235 if (modifiers & ctrl_modifier) { *p++ = 'C'; *p++ = '-'; } 6235 if (modifiers & ctrl_modifier) { *p++ = 'C'; *p++ = '-'; }
@@ -6324,7 +6324,7 @@ parse_modifiers (Lisp_Object symbol)
6324 Qnil); 6324 Qnil);
6325 6325
6326 if (modifiers & ~INTMASK) 6326 if (modifiers & ~INTMASK)
6327 abort (); 6327 emacs_abort ();
6328 XSETFASTINT (mask, modifiers); 6328 XSETFASTINT (mask, modifiers);
6329 elements = Fcons (unmodified, Fcons (mask, Qnil)); 6329 elements = Fcons (unmodified, Fcons (mask, Qnil));
6330 6330
@@ -7001,7 +7001,7 @@ tty_read_avail_input (struct terminal *terminal,
7001 7001
7002 if (terminal->type != output_termcap 7002 if (terminal->type != output_termcap
7003 && terminal->type != output_msdos_raw) 7003 && terminal->type != output_msdos_raw)
7004 abort (); 7004 emacs_abort ();
7005 7005
7006 /* XXX I think the following code should be moved to separate hook 7006 /* XXX I think the following code should be moved to separate hook
7007 functions in system-dependent files. */ 7007 functions in system-dependent files. */
@@ -10902,7 +10902,7 @@ handle_interrupt (void)
10902#endif /* not MSDOS */ 10902#endif /* not MSDOS */
10903 fflush (stdout); 10903 fflush (stdout);
10904 if (((c = getchar ()) & ~040) == 'Y') 10904 if (((c = getchar ()) & ~040) == 'Y')
10905 abort (); 10905 emacs_abort ();
10906 while (c != '\n') c = getchar (); 10906 while (c != '\n') c = getchar ();
10907#ifdef MSDOS 10907#ifdef MSDOS
10908 printf ("\r\nContinuing...\r\n"); 10908 printf ("\r\nContinuing...\r\n");
@@ -10983,7 +10983,7 @@ quit_throw_to_read_char (int from_signal)
10983#ifdef POLL_FOR_INPUT 10983#ifdef POLL_FOR_INPUT
10984 /* May be > 1 if in recursive minibuffer. */ 10984 /* May be > 1 if in recursive minibuffer. */
10985 if (poll_suppress_count == 0) 10985 if (poll_suppress_count == 0)
10986 abort (); 10986 emacs_abort ();
10987#endif 10987#endif
10988#endif 10988#endif
10989 if (FRAMEP (internal_last_event_frame) 10989 if (FRAMEP (internal_last_event_frame)
@@ -11341,7 +11341,7 @@ delete_kboard (KBOARD *kb)
11341 11341
11342 for (kbp = &all_kboards; *kbp != kb; kbp = &(*kbp)->next_kboard) 11342 for (kbp = &all_kboards; *kbp != kb; kbp = &(*kbp)->next_kboard)
11343 if (*kbp == NULL) 11343 if (*kbp == NULL)
11344 abort (); 11344 emacs_abort ();
11345 *kbp = kb->next_kboard; 11345 *kbp = kb->next_kboard;
11346 11346
11347 /* Prevent a dangling reference to KB. */ 11347 /* Prevent a dangling reference to KB. */
@@ -11352,7 +11352,7 @@ delete_kboard (KBOARD *kb)
11352 current_kboard = FRAME_KBOARD (XFRAME (selected_frame)); 11352 current_kboard = FRAME_KBOARD (XFRAME (selected_frame));
11353 single_kboard = 0; 11353 single_kboard = 0;
11354 if (current_kboard == kb) 11354 if (current_kboard == kb)
11355 abort (); 11355 emacs_abort ();
11356 } 11356 }
11357 11357
11358 wipe_kboard (kb); 11358 wipe_kboard (kb);
diff --git a/src/keymap.c b/src/keymap.c
index 85c384b8180..d79ff89ed67 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -2923,7 +2923,7 @@ You type Translation\n\
2923 char *title, *p; 2923 char *title, *p;
2924 2924
2925 if (!SYMBOLP (modes[i])) 2925 if (!SYMBOLP (modes[i]))
2926 abort (); 2926 emacs_abort ();
2927 2927
2928 p = title = alloca (42 + SCHARS (SYMBOL_NAME (modes[i]))); 2928 p = title = alloca (42 + SCHARS (SYMBOL_NAME (modes[i])));
2929 *p++ = '\f'; 2929 *p++ = '\f';
diff --git a/src/lisp.h b/src/lisp.h
index 35a07c838fb..0835795a26d 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2288,7 +2288,7 @@ extern int gcpro_level;
2288 2288
2289#define UNGCPRO \ 2289#define UNGCPRO \
2290 ((--gcpro_level != gcpro1.level) \ 2290 ((--gcpro_level != gcpro1.level) \
2291 ? (abort (), 0) \ 2291 ? (emacs_abort (), 0) \
2292 : ((gcprolist = gcpro1.next), 0)) 2292 : ((gcprolist = gcpro1.next), 0))
2293 2293
2294#endif /* DEBUG_GCPRO */ 2294#endif /* DEBUG_GCPRO */
@@ -3412,6 +3412,7 @@ extern int set_window_size (int, int, int);
3412extern EMACS_INT get_random (void); 3412extern EMACS_INT get_random (void);
3413extern void seed_random (void *, ptrdiff_t); 3413extern void seed_random (void *, ptrdiff_t);
3414extern void init_random (void); 3414extern void init_random (void);
3415extern _Noreturn void emacs_abort (void) NO_INLINE;
3415extern int emacs_open (const char *, int, int); 3416extern int emacs_open (const char *, int, int);
3416extern int emacs_close (int); 3417extern int emacs_close (int);
3417extern ptrdiff_t emacs_read (int, char *, ptrdiff_t); 3418extern ptrdiff_t emacs_read (int, char *, ptrdiff_t);
diff --git a/src/lread.c b/src/lread.c
index 1dd6275684b..c15c8da3f7b 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1694,7 +1694,7 @@ readevalloop (Lisp_Object readcharfun,
1694 1694
1695 /* We assume START is nil when input is not from a buffer. */ 1695 /* We assume START is nil when input is not from a buffer. */
1696 if (! NILP (start) && !b) 1696 if (! NILP (start) && !b)
1697 abort (); 1697 emacs_abort ();
1698 1698
1699 specbind (Qstandard_input, readcharfun); /* GCPROs readcharfun. */ 1699 specbind (Qstandard_input, readcharfun); /* GCPROs readcharfun. */
1700 specbind (Qcurrent_load_list, Qnil); 1700 specbind (Qcurrent_load_list, Qnil);
@@ -3671,7 +3671,7 @@ intern_c_string_1 (const char *str, ptrdiff_t len)
3671 /* Creating a non-pure string from a string literal not 3671 /* Creating a non-pure string from a string literal not
3672 implemented yet. We could just use make_string here and live 3672 implemented yet. We could just use make_string here and live
3673 with the extra copy. */ 3673 with the extra copy. */
3674 abort (); 3674 emacs_abort ();
3675 3675
3676 return Fintern (make_pure_c_string (str, len), obarray); 3676 return Fintern (make_pure_c_string (str, len), obarray);
3677} 3677}
diff --git a/src/marker.c b/src/marker.c
index 4ea06c7cd57..de3c19c3bcb 100644
--- a/src/marker.c
+++ b/src/marker.c
@@ -59,7 +59,7 @@ byte_char_debug_check (struct buffer *b, ptrdiff_t charpos, ptrdiff_t bytepos)
59 bytepos - BUF_BEG_BYTE (b)); 59 bytepos - BUF_BEG_BYTE (b));
60 60
61 if (charpos - 1 != nchars) 61 if (charpos - 1 != nchars)
62 abort (); 62 emacs_abort ();
63} 63}
64 64
65#else /* not MARKER_DEBUG */ 65#else /* not MARKER_DEBUG */
@@ -67,7 +67,7 @@ byte_char_debug_check (struct buffer *b, ptrdiff_t charpos, ptrdiff_t bytepos)
67#define byte_char_debug_check(b, charpos, bytepos) do { } while (0) 67#define byte_char_debug_check(b, charpos, bytepos) do { } while (0)
68 68
69#endif /* MARKER_DEBUG */ 69#endif /* MARKER_DEBUG */
70 70
71void 71void
72clear_charpos_cache (struct buffer *b) 72clear_charpos_cache (struct buffer *b)
73{ 73{
@@ -142,7 +142,7 @@ buf_charpos_to_bytepos (struct buffer *b, ptrdiff_t charpos)
142 ptrdiff_t best_below, best_below_byte; 142 ptrdiff_t best_below, best_below_byte;
143 143
144 if (charpos < BUF_BEG (b) || charpos > BUF_Z (b)) 144 if (charpos < BUF_BEG (b) || charpos > BUF_Z (b))
145 abort (); 145 emacs_abort ();
146 146
147 best_above = BUF_Z (b); 147 best_above = BUF_Z (b);
148 best_above_byte = BUF_Z_BYTE (b); 148 best_above_byte = BUF_Z_BYTE (b);
@@ -296,7 +296,7 @@ buf_bytepos_to_charpos (struct buffer *b, ptrdiff_t bytepos)
296 ptrdiff_t best_below, best_below_byte; 296 ptrdiff_t best_below, best_below_byte;
297 297
298 if (bytepos < BUF_BEG_BYTE (b) || bytepos > BUF_Z_BYTE (b)) 298 if (bytepos < BUF_BEG_BYTE (b) || bytepos > BUF_Z_BYTE (b))
299 abort (); 299 emacs_abort ();
300 300
301 best_above = BUF_Z (b); 301 best_above = BUF_Z (b);
302 best_above_byte = BUF_Z_BYTE (b); 302 best_above_byte = BUF_Z_BYTE (b);
@@ -506,7 +506,7 @@ set_marker_internal (Lisp_Object marker, Lisp_Object position,
506 else 506 else
507 { 507 {
508 register ptrdiff_t charpos, bytepos; 508 register ptrdiff_t charpos, bytepos;
509 509
510 CHECK_NUMBER_COERCE_MARKER (position); 510 CHECK_NUMBER_COERCE_MARKER (position);
511 charpos = clip_to_bounds (restricted ? BUF_BEGV (b) : BUF_BEG (b), 511 charpos = clip_to_bounds (restricted ? BUF_BEGV (b) : BUF_BEG (b),
512 XINT (position), 512 XINT (position),
@@ -570,8 +570,8 @@ set_marker_restricted_both (Lisp_Object marker, Lisp_Object buffer,
570 570
571 if (b) 571 if (b)
572 { 572 {
573 attach_marker 573 attach_marker
574 (m, b, 574 (m, b,
575 clip_to_bounds (BUF_BEGV (b), charpos, BUF_ZV (b)), 575 clip_to_bounds (BUF_BEGV (b), charpos, BUF_ZV (b)),
576 clip_to_bounds (BUF_BEGV_BYTE (b), bytepos, BUF_ZV_BYTE (b))); 576 clip_to_bounds (BUF_BEGV_BYTE (b), bytepos, BUF_ZV_BYTE (b)));
577 } 577 }
@@ -605,12 +605,12 @@ unchain_marker (register struct Lisp_Marker *marker)
605 { 605 {
606 if (*prev == BUF_MARKERS (b)) 606 if (*prev == BUF_MARKERS (b))
607 { 607 {
608 /* Deleting first marker from the buffer's chain. Crash 608 /* Deleting first marker from the buffer's chain. Crash
609 if new first marker in chain does not say it belongs 609 if new first marker in chain does not say it belongs
610 to the same buffer, or at least that they have the same 610 to the same buffer, or at least that they have the same
611 base buffer. */ 611 base buffer. */
612 if (tail->next && b->text != tail->next->buffer->text) 612 if (tail->next && b->text != tail->next->buffer->text)
613 abort (); 613 emacs_abort ();
614 } 614 }
615 *prev = tail->next; 615 *prev = tail->next;
616 /* We have removed the marker from the chain; 616 /* We have removed the marker from the chain;
diff --git a/src/menu.c b/src/menu.c
index 20770537326..bfdc68ca118 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -733,7 +733,7 @@ digest_single_submenu (int start, int end, int top_level_items)
733 733
734 /* All items should be contained in panes. */ 734 /* All items should be contained in panes. */
735 if (panes_seen == 0) 735 if (panes_seen == 0)
736 abort (); 736 emacs_abort ();
737 737
738 item_name = AREF (menu_items, i + MENU_ITEMS_ITEM_NAME); 738 item_name = AREF (menu_items, i + MENU_ITEMS_ITEM_NAME);
739 enable = AREF (menu_items, i + MENU_ITEMS_ITEM_ENABLE); 739 enable = AREF (menu_items, i + MENU_ITEMS_ITEM_ENABLE);
@@ -807,7 +807,7 @@ digest_single_submenu (int start, int end, int top_level_items)
807 else if (EQ (type, QCtoggle)) 807 else if (EQ (type, QCtoggle))
808 wv->button_type = BUTTON_TYPE_TOGGLE; 808 wv->button_type = BUTTON_TYPE_TOGGLE;
809 else 809 else
810 abort (); 810 emacs_abort ();
811 811
812 wv->selected = !NILP (selected); 812 wv->selected = !NILP (selected);
813 if (! STRINGP (help)) 813 if (! STRINGP (help))
diff --git a/src/minibuf.c b/src/minibuf.c
index 2035a3e3985..655a02f5eca 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -110,7 +110,7 @@ choose_minibuf_frame (void)
110 /* I don't think that any frames may validly have a null minibuffer 110 /* I don't think that any frames may validly have a null minibuffer
111 window anymore. */ 111 window anymore. */
112 if (NILP (sf->minibuffer_window)) 112 if (NILP (sf->minibuffer_window))
113 abort (); 113 emacs_abort ();
114 114
115 /* Under X, we come here with minibuf_window being the 115 /* Under X, we come here with minibuf_window being the
116 minibuffer window of the unused termcap window created in 116 minibuffer window of the unused termcap window created in
diff --git a/src/msdos.c b/src/msdos.c
index ac348e94375..ed5d3240aa1 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -796,7 +796,7 @@ IT_set_face (int face)
796 /* The default face for the frame should always be realized and 796 /* The default face for the frame should always be realized and
797 cached. */ 797 cached. */
798 if (!fp) 798 if (!fp)
799 abort (); 799 emacs_abort ();
800 } 800 }
801 screen_face = face; 801 screen_face = face;
802 fg = fp->foreground; 802 fg = fp->foreground;
@@ -1393,7 +1393,7 @@ IT_insert_glyphs (struct frame *f, struct glyph *start, int len)
1393static void 1393static void
1394IT_delete_glyphs (struct frame *f, int n) 1394IT_delete_glyphs (struct frame *f, int n)
1395{ 1395{
1396 abort (); 1396 emacs_abort ();
1397} 1397}
1398 1398
1399/* set-window-configuration on window.c needs this. */ 1399/* set-window-configuration on window.c needs this. */
@@ -3013,7 +3013,7 @@ XMenuAddPane (Display *foo, XMenu *menu, const char *txt, int enable)
3013 const char *p; 3013 const char *p;
3014 3014
3015 if (!enable) 3015 if (!enable)
3016 abort (); 3016 emacs_abort ();
3017 3017
3018 IT_menu_make_room (menu); 3018 IT_menu_make_room (menu);
3019 menu->submenu[menu->count] = IT_menu_create (); 3019 menu->submenu[menu->count] = IT_menu_create ();
@@ -4119,7 +4119,7 @@ sys_select (int nfds, SELECT_TYPE *rfds, SELECT_TYPE *wfds, SELECT_TYPE *efds,
4119 FD_ZERO (efds); 4119 FD_ZERO (efds);
4120 4120
4121 if (nfds != 1) 4121 if (nfds != 1)
4122 abort (); 4122 emacs_abort ();
4123 4123
4124 /* If we are looking only for the terminal, with no timeout, 4124 /* If we are looking only for the terminal, with no timeout,
4125 just read it and wait -- that's more efficient. */ 4125 just read it and wait -- that's more efficient. */
@@ -4214,26 +4214,8 @@ init_gettimeofday (void)
4214} 4214}
4215#endif 4215#endif
4216 4216
4217#ifdef abort
4218#undef abort
4219void 4217void
4220dos_abort (char *file, int line) 4218emacs_abort (void)
4221{
4222 char buffer1[200], buffer2[400];
4223 int i, j;
4224
4225 sprintf (buffer1, "<EMACS FATAL ERROR IN %s LINE %d>", file, line);
4226 for (i = j = 0; buffer1[i]; i++) {
4227 buffer2[j++] = buffer1[i];
4228 buffer2[j++] = 0x70;
4229 }
4230 dosmemput (buffer2, j, (int)ScreenPrimary);
4231 ScreenSetCursor (2, 0);
4232 abort ();
4233}
4234#else
4235void
4236abort (void)
4237{ 4219{
4238 dos_ttcooked (); 4220 dos_ttcooked ();
4239 ScreenSetCursor (10, 0); 4221 ScreenSetCursor (10, 0);
@@ -4249,7 +4231,6 @@ abort (void)
4249#endif /* __DJGPP_MINOR__ >= 2 */ 4231#endif /* __DJGPP_MINOR__ >= 2 */
4250 exit (2); 4232 exit (2);
4251} 4233}
4252#endif
4253 4234
4254void 4235void
4255syms_of_msdos (void) 4236syms_of_msdos (void)
diff --git a/src/nsfont.m b/src/nsfont.m
index 412a6777c64..5bf4c01c961 100644
--- a/src/nsfont.m
+++ b/src/nsfont.m
@@ -1330,7 +1330,7 @@ ns_uni_to_glyphs (struct nsfont_info *font_info, unsigned char block)
1330 1330
1331 font_info->glyphs[block] = xmalloc (0x100 * sizeof (unsigned short)); 1331 font_info->glyphs[block] = xmalloc (0x100 * sizeof (unsigned short));
1332 if (!unichars || !(font_info->glyphs[block])) 1332 if (!unichars || !(font_info->glyphs[block]))
1333 abort (); 1333 emacs_abort ();
1334 1334
1335 /* create a string containing all Unicode characters in this block */ 1335 /* create a string containing all Unicode characters in this block */
1336 for (idx = block<<8, i = 0; i < 0x100; idx++, i++) 1336 for (idx = block<<8, i = 0; i < 0x100; idx++, i++)
@@ -1405,7 +1405,7 @@ ns_glyph_metrics (struct nsfont_info *font_info, unsigned char block)
1405 1405
1406 font_info->metrics[block] = xzalloc (0x100 * sizeof (struct font_metrics)); 1406 font_info->metrics[block] = xzalloc (0x100 * sizeof (struct font_metrics));
1407 if (!(font_info->metrics[block])) 1407 if (!(font_info->metrics[block]))
1408 abort (); 1408 emacs_abort ();
1409 1409
1410 metrics = font_info->metrics[block]; 1410 metrics = font_info->metrics[block];
1411 for (g = block<<8, i =0; i<0x100 && g < numGlyphs; g++, i++, metrics++) 1411 for (g = block<<8, i =0; i<0x100 && g < numGlyphs; g++, i++, metrics++)
diff --git a/src/nsmenu.m b/src/nsmenu.m
index 9e290486213..d0f3e45e939 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -948,7 +948,7 @@ ns_menu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
948 else if (EQ (type, QCradio)) 948 else if (EQ (type, QCradio))
949 wv->button_type = BUTTON_TYPE_RADIO; 949 wv->button_type = BUTTON_TYPE_RADIO;
950 else 950 else
951 abort (); 951 emacs_abort ();
952 952
953 wv->selected = !NILP (selected); 953 wv->selected = !NILP (selected);
954 954
diff --git a/src/nsterm.m b/src/nsterm.m
index c892a5486a7..a7d6732d5bd 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -3340,7 +3340,7 @@ ns_draw_glyph_string (struct glyph_string *s)
3340 break; 3340 break;
3341 3341
3342 default: 3342 default:
3343 abort (); 3343 emacs_abort ();
3344 } 3344 }
3345 3345
3346 /* Draw box if not done already. */ 3346 /* Draw box if not done already. */
@@ -3475,7 +3475,7 @@ ns_read_socket (struct terminal *terminal, int expected,
3475 3475
3476 if (++apploopnr != 1) 3476 if (++apploopnr != 1)
3477 { 3477 {
3478 abort (); 3478 emacs_abort ();
3479 } 3479 }
3480 [NSApp run]; 3480 [NSApp run];
3481 --apploopnr; 3481 --apploopnr;
@@ -3515,7 +3515,7 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds,
3515 [outerpool release]; 3515 [outerpool release];
3516 outerpool = [[NSAutoreleasePool alloc] init]; 3516 outerpool = [[NSAutoreleasePool alloc] init];
3517 3517
3518 3518
3519 send_appdefined = YES; 3519 send_appdefined = YES;
3520 if (nr > 0) 3520 if (nr > 0)
3521 { 3521 {
@@ -3568,7 +3568,7 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds,
3568 emacs_event = &event; 3568 emacs_event = &event;
3569 if (++apploopnr != 1) 3569 if (++apploopnr != 1)
3570 { 3570 {
3571 abort(); 3571 emacs_abort ();
3572 } 3572 }
3573 [NSApp run]; 3573 [NSApp run];
3574 --apploopnr; 3574 --apploopnr;
@@ -3586,7 +3586,7 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds,
3586 { 3586 {
3587 int t; 3587 int t;
3588 if ([ev type] != NSApplicationDefined) 3588 if ([ev type] != NSApplicationDefined)
3589 abort (); 3589 emacs_abort ();
3590 3590
3591 t = [ev data1]; 3591 t = [ev data1];
3592 last_appdefined_event = 0; 3592 last_appdefined_event = 0;
@@ -4053,7 +4053,7 @@ ns_term_init (Lisp_Object display_name)
4053 { 4053 {
4054 fprintf (stderr, "Failed to create pipe: %s\n", 4054 fprintf (stderr, "Failed to create pipe: %s\n",
4055 emacs_strerror (errno)); 4055 emacs_strerror (errno));
4056 abort (); 4056 emacs_abort ();
4057 } 4057 }
4058 4058
4059 fcntl (selfds[0], F_SETFL, O_NONBLOCK|fcntl (selfds[0], F_GETFL)); 4059 fcntl (selfds[0], F_SETFL, O_NONBLOCK|fcntl (selfds[0], F_GETFL));
@@ -4273,7 +4273,7 @@ ns_term_shutdown (int sig)
4273 } 4273 }
4274 else // force a stack trace to happen 4274 else // force a stack trace to happen
4275 { 4275 {
4276 abort(); 4276 emacs_abort ();
4277 } 4277 }
4278} 4278}
4279 4279
@@ -4534,10 +4534,10 @@ not_in_argv (NSString *arg)
4534 /* Don't open files from the command line unconditionally, 4534 /* Don't open files from the command line unconditionally,
4535 Cocoa parses the command line wrong, --option value tries to open value 4535 Cocoa parses the command line wrong, --option value tries to open value
4536 if --option is the last option. */ 4536 if --option is the last option. */
4537 while ((file = [files nextObject]) != nil) 4537 while ((file = [files nextObject]) != nil)
4538 if (ns_do_open_file || not_in_argv (file)) 4538 if (ns_do_open_file || not_in_argv (file))
4539 [ns_pending_files addObject: file]; 4539 [ns_pending_files addObject: file];
4540 4540
4541 [self replyToOpenOrPrint: NSApplicationDelegateReplySuccess]; 4541 [self replyToOpenOrPrint: NSApplicationDelegateReplySuccess];
4542 4542
4543} 4543}
@@ -4604,7 +4604,7 @@ not_in_argv (NSString *arg)
4604 4604
4605 /* NSTRACE (fd_handler); */ 4605 /* NSTRACE (fd_handler); */
4606 4606
4607 for (;;) 4607 for (;;)
4608 { 4608 {
4609 [pool release]; 4609 [pool release];
4610 pool = [[NSAutoreleasePool alloc] init]; 4610 pool = [[NSAutoreleasePool alloc] init];
@@ -4889,7 +4889,7 @@ not_in_argv (NSString *arg)
4889 is_right_key = (flags & NSRightCommandKeyMask) == NSRightCommandKeyMask; 4889 is_right_key = (flags & NSRightCommandKeyMask) == NSRightCommandKeyMask;
4890 is_left_key = (flags & NSLeftCommandKeyMask) == NSLeftCommandKeyMask 4890 is_left_key = (flags & NSLeftCommandKeyMask) == NSLeftCommandKeyMask
4891 || (! is_right_key && (flags & NSCommandKeyMask) == NSCommandKeyMask); 4891 || (! is_right_key && (flags & NSCommandKeyMask) == NSCommandKeyMask);
4892 4892
4893 if (is_right_key) 4893 if (is_right_key)
4894 emacs_event->modifiers |= parse_solitary_modifier 4894 emacs_event->modifiers |= parse_solitary_modifier
4895 (EQ (ns_right_command_modifier, Qleft) 4895 (EQ (ns_right_command_modifier, Qleft)
@@ -5853,7 +5853,7 @@ not_in_argv (NSString *arg)
5853 NSTRACE (menuDown); 5853 NSTRACE (menuDown);
5854 if (context_menu_value == -1) 5854 if (context_menu_value == -1)
5855 context_menu_value = [sender tag]; 5855 context_menu_value = [sender tag];
5856 else 5856 else
5857 { 5857 {
5858 NSInteger tag = [sender tag]; 5858 NSInteger tag = [sender tag];
5859 find_and_call_menu_selection (emacsframe, emacsframe->menu_bar_items_used, 5859 find_and_call_menu_selection (emacsframe, emacsframe->menu_bar_items_used,
@@ -6180,7 +6180,7 @@ not_in_argv (NSString *arg)
6180 Lisp_Object str = Qnil; 6180 Lisp_Object str = Qnil;
6181 struct frame *f = SELECTED_FRAME (); 6181 struct frame *f = SELECTED_FRAME ();
6182 struct buffer *curbuf = XBUFFER (XWINDOW (f->selected_window)->buffer); 6182 struct buffer *curbuf = XBUFFER (XWINDOW (f->selected_window)->buffer);
6183 6183
6184 if ([attribute isEqualToString:NSAccessibilityRoleAttribute]) 6184 if ([attribute isEqualToString:NSAccessibilityRoleAttribute])
6185 return NSAccessibilityTextFieldRole; 6185 return NSAccessibilityTextFieldRole;
6186 6186
@@ -6193,13 +6193,13 @@ not_in_argv (NSString *arg)
6193 { 6193 {
6194 if (! NILP (BVAR (curbuf, mark_active))) 6194 if (! NILP (BVAR (curbuf, mark_active)))
6195 str = ns_get_local_selection (QPRIMARY, QUTF8_STRING); 6195 str = ns_get_local_selection (QPRIMARY, QUTF8_STRING);
6196 6196
6197 if (NILP (str)) 6197 if (NILP (str))
6198 { 6198 {
6199 ptrdiff_t start_byte = BUF_BEGV_BYTE (curbuf); 6199 ptrdiff_t start_byte = BUF_BEGV_BYTE (curbuf);
6200 ptrdiff_t byte_range = BUF_ZV_BYTE (curbuf) - start_byte; 6200 ptrdiff_t byte_range = BUF_ZV_BYTE (curbuf) - start_byte;
6201 ptrdiff_t range = BUF_ZV (curbuf) - BUF_BEGV (curbuf); 6201 ptrdiff_t range = BUF_ZV (curbuf) - BUF_BEGV (curbuf);
6202 6202
6203 if (! NILP (BVAR (curbuf, enable_multibyte_characters))) 6203 if (! NILP (BVAR (curbuf, enable_multibyte_characters)))
6204 str = make_uninit_multibyte_string (range, byte_range); 6204 str = make_uninit_multibyte_string (range, byte_range);
6205 else 6205 else
@@ -6209,9 +6209,9 @@ not_in_argv (NSString *arg)
6209 memcpy (SDATA (str), BYTE_POS_ADDR (start_byte), byte_range); 6209 memcpy (SDATA (str), BYTE_POS_ADDR (start_byte), byte_range);
6210 } 6210 }
6211 } 6211 }
6212 6212
6213 6213
6214 if (! NILP (str)) 6214 if (! NILP (str))
6215 { 6215 {
6216 if (CONSP (str) && SYMBOLP (XCAR (str))) 6216 if (CONSP (str) && SYMBOLP (XCAR (str)))
6217 { 6217 {
@@ -6226,7 +6226,7 @@ not_in_argv (NSString *arg)
6226 return nsStr; 6226 return nsStr;
6227 } 6227 }
6228 } 6228 }
6229 6229
6230 return [super accessibilityAttributeValue:attribute]; 6230 return [super accessibilityAttributeValue:attribute];
6231} 6231}
6232#endif /* NS_IMPL_COCOA */ 6232#endif /* NS_IMPL_COCOA */
diff --git a/src/print.c b/src/print.c
index 52c07c79122..72e536e4278 100644
--- a/src/print.c
+++ b/src/print.c
@@ -2060,7 +2060,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
2060 { 2060 {
2061 int len; 2061 int len;
2062 /* We're in trouble if this happens! 2062 /* We're in trouble if this happens!
2063 Probably should just abort () */ 2063 Probably should just emacs_abort (). */
2064 strout ("#<EMACS BUG: INVALID DATATYPE ", -1, -1, printcharfun); 2064 strout ("#<EMACS BUG: INVALID DATATYPE ", -1, -1, printcharfun);
2065 if (MISCP (obj)) 2065 if (MISCP (obj))
2066 len = sprintf (buf, "(MISC 0x%04x)", (int) XMISCTYPE (obj)); 2066 len = sprintf (buf, "(MISC 0x%04x)", (int) XMISCTYPE (obj));
diff --git a/src/process.c b/src/process.c
index 2d144b410ed..5677da36881 100644
--- a/src/process.c
+++ b/src/process.c
@@ -1577,7 +1577,7 @@ static Lisp_Object
1577start_process_unwind (Lisp_Object proc) 1577start_process_unwind (Lisp_Object proc)
1578{ 1578{
1579 if (!PROCESSP (proc)) 1579 if (!PROCESSP (proc))
1580 abort (); 1580 emacs_abort ();
1581 1581
1582 /* Was PROC started successfully? 1582 /* Was PROC started successfully?
1583 -2 is used for a pty with no process, eg for gdb. */ 1583 -2 is used for a pty with no process, eg for gdb. */
@@ -2550,7 +2550,7 @@ static Lisp_Object
2550make_serial_process_unwind (Lisp_Object proc) 2550make_serial_process_unwind (Lisp_Object proc)
2551{ 2551{
2552 if (!PROCESSP (proc)) 2552 if (!PROCESSP (proc))
2553 abort (); 2553 emacs_abort ();
2554 remove_process (proc); 2554 remove_process (proc);
2555 return Qnil; 2555 return Qnil;
2556} 2556}
@@ -3387,7 +3387,7 @@ usage: (make-network-process &rest ARGS) */)
3387 if (socktype == SOCK_DGRAM) 3387 if (socktype == SOCK_DGRAM)
3388 { 3388 {
3389 if (datagram_address[s].sa) 3389 if (datagram_address[s].sa)
3390 abort (); 3390 emacs_abort ();
3391 datagram_address[s].sa = xmalloc (lres->ai_addrlen); 3391 datagram_address[s].sa = xmalloc (lres->ai_addrlen);
3392 datagram_address[s].len = lres->ai_addrlen; 3392 datagram_address[s].len = lres->ai_addrlen;
3393 if (is_server) 3393 if (is_server)
@@ -3973,7 +3973,7 @@ deactivate_process (Lisp_Object proc)
3973 FD_CLR (inchannel, &connect_wait_mask); 3973 FD_CLR (inchannel, &connect_wait_mask);
3974 FD_CLR (inchannel, &write_mask); 3974 FD_CLR (inchannel, &write_mask);
3975 if (--num_pending_connects < 0) 3975 if (--num_pending_connects < 0)
3976 abort (); 3976 emacs_abort ();
3977 } 3977 }
3978#endif 3978#endif
3979 if (inchannel == max_process_desc) 3979 if (inchannel == max_process_desc)
@@ -4752,7 +4752,7 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd,
4752 Cleanup occurs c/o status_notify after SIGCLD. */ 4752 Cleanup occurs c/o status_notify after SIGCLD. */
4753 no_avail = 1; /* Cannot depend on values returned */ 4753 no_avail = 1; /* Cannot depend on values returned */
4754#else 4754#else
4755 abort (); 4755 emacs_abort ();
4756#endif 4756#endif
4757 } 4757 }
4758 else 4758 else
@@ -4993,7 +4993,7 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd,
4993 FD_CLR (channel, &connect_wait_mask); 4993 FD_CLR (channel, &connect_wait_mask);
4994 FD_CLR (channel, &write_mask); 4994 FD_CLR (channel, &write_mask);
4995 if (--num_pending_connects < 0) 4995 if (--num_pending_connects < 0)
4996 abort (); 4996 emacs_abort ();
4997 4997
4998 proc = chan_process[channel]; 4998 proc = chan_process[channel];
4999 if (NILP (proc)) 4999 if (NILP (proc))
@@ -6354,7 +6354,7 @@ process has been transmitted to the serial port. */)
6354#endif /* not HAVE_SHUTDOWN */ 6354#endif /* not HAVE_SHUTDOWN */
6355 new_outfd = emacs_open (NULL_DEVICE, O_WRONLY, 0); 6355 new_outfd = emacs_open (NULL_DEVICE, O_WRONLY, 0);
6356 if (new_outfd < 0) 6356 if (new_outfd < 0)
6357 abort (); 6357 emacs_abort ();
6358 old_outfd = XPROCESS (proc)->outfd; 6358 old_outfd = XPROCESS (proc)->outfd;
6359 6359
6360 if (!proc_encode_coding_system[new_outfd]) 6360 if (!proc_encode_coding_system[new_outfd])
diff --git a/src/ralloc.c b/src/ralloc.c
index 3877e21d4f6..74834333aa3 100644
--- a/src/ralloc.c
+++ b/src/ralloc.c
@@ -237,7 +237,7 @@ obtain (POINTER address, SIZE size)
237 } 237 }
238 238
239 if (! heap) 239 if (! heap)
240 abort (); 240 emacs_abort ();
241 241
242 /* If we can't fit SIZE bytes in that heap, 242 /* If we can't fit SIZE bytes in that heap,
243 try successive later heaps. */ 243 try successive later heaps. */
@@ -330,7 +330,7 @@ relinquish (void)
330 /* This heap should have no blocs in it. */ 330 /* This heap should have no blocs in it. */
331 if (last_heap->first_bloc != NIL_BLOC 331 if (last_heap->first_bloc != NIL_BLOC
332 || last_heap->last_bloc != NIL_BLOC) 332 || last_heap->last_bloc != NIL_BLOC)
333 abort (); 333 emacs_abort ();
334 334
335 /* Return the last heap, with its header, to the system. */ 335 /* Return the last heap, with its header, to the system. */
336 excess = (char *)last_heap->end - (char *)last_heap->start; 336 excess = (char *)last_heap->end - (char *)last_heap->start;
@@ -355,7 +355,7 @@ relinquish (void)
355 which returns the entire last heap to the system, seems 355 which returns the entire last heap to the system, seems
356 unlikely to trigger this mode of failure. */ 356 unlikely to trigger this mode of failure. */
357 if (last_heap->end != (*real_morecore) (0)) 357 if (last_heap->end != (*real_morecore) (0))
358 abort (); 358 emacs_abort ();
359 } 359 }
360 } 360 }
361} 361}
@@ -452,7 +452,7 @@ relocate_blocs (bloc_ptr bloc, heap_ptr heap, POINTER address)
452 452
453 /* No need to ever call this if arena is frozen, bug somewhere! */ 453 /* No need to ever call this if arena is frozen, bug somewhere! */
454 if (r_alloc_freeze_level) 454 if (r_alloc_freeze_level)
455 abort (); 455 emacs_abort ();
456 456
457 while (b) 457 while (b)
458 { 458 {
@@ -576,7 +576,7 @@ resize_bloc (bloc_ptr bloc, SIZE size)
576 576
577 /* No need to ever call this if arena is frozen, bug somewhere! */ 577 /* No need to ever call this if arena is frozen, bug somewhere! */
578 if (r_alloc_freeze_level) 578 if (r_alloc_freeze_level)
579 abort (); 579 emacs_abort ();
580 580
581 if (bloc == NIL_BLOC || size == bloc->size) 581 if (bloc == NIL_BLOC || size == bloc->size)
582 return 1; 582 return 1;
@@ -588,7 +588,7 @@ resize_bloc (bloc_ptr bloc, SIZE size)
588 } 588 }
589 589
590 if (heap == NIL_HEAP) 590 if (heap == NIL_HEAP)
591 abort (); 591 emacs_abort ();
592 592
593 old_size = bloc->size; 593 old_size = bloc->size;
594 bloc->size = size; 594 bloc->size = size;
@@ -937,7 +937,7 @@ r_alloc_free (register POINTER *ptr)
937 937
938 dead_bloc = find_bloc (ptr); 938 dead_bloc = find_bloc (ptr);
939 if (dead_bloc == NIL_BLOC) 939 if (dead_bloc == NIL_BLOC)
940 abort (); /* Double free? PTR not originally used to allocate? */ 940 emacs_abort (); /* Double free? PTR not originally used to allocate? */
941 941
942 free_bloc (dead_bloc); 942 free_bloc (dead_bloc);
943 *ptr = 0; 943 *ptr = 0;
@@ -979,7 +979,7 @@ r_re_alloc (POINTER *ptr, SIZE size)
979 979
980 bloc = find_bloc (ptr); 980 bloc = find_bloc (ptr);
981 if (bloc == NIL_BLOC) 981 if (bloc == NIL_BLOC)
982 abort (); /* Already freed? PTR not originally used to allocate? */ 982 emacs_abort (); /* Already freed? PTR not originally used to allocate? */
983 983
984 if (size < bloc->size) 984 if (size < bloc->size)
985 { 985 {
@@ -1152,7 +1152,7 @@ r_alloc_reset_variable (POINTER *old, POINTER *new)
1152 } 1152 }
1153 1153
1154 if (bloc == NIL_BLOC || bloc->variable != old) 1154 if (bloc == NIL_BLOC || bloc->variable != old)
1155 abort (); /* Already freed? OLD not originally used to allocate? */ 1155 emacs_abort (); /* Already freed? OLD not originally used to allocate? */
1156 1156
1157 /* Update variable to point to the new location. */ 1157 /* Update variable to point to the new location. */
1158 bloc->variable = new; 1158 bloc->variable = new;
@@ -1193,7 +1193,7 @@ r_alloc_init (void)
1193 first_heap->start = first_heap->bloc_start 1193 first_heap->start = first_heap->bloc_start
1194 = virtual_break_value = break_value = (*real_morecore) (0); 1194 = virtual_break_value = break_value = (*real_morecore) (0);
1195 if (break_value == NIL) 1195 if (break_value == NIL)
1196 abort (); 1196 emacs_abort ();
1197 1197
1198 extra_bytes = ROUNDUP (50000); 1198 extra_bytes = ROUNDUP (50000);
1199#endif 1199#endif
diff --git a/src/region-cache.c b/src/region-cache.c
index d2bba8c11b2..c3eb087aade 100644
--- a/src/region-cache.c
+++ b/src/region-cache.c
@@ -194,7 +194,7 @@ find_cache_boundary (struct region_cache *c, ptrdiff_t pos)
194 if (BOUNDARY_POS (c, low) > pos 194 if (BOUNDARY_POS (c, low) > pos
195 || (low + 1 < c->cache_len 195 || (low + 1 < c->cache_len
196 && BOUNDARY_POS (c, low + 1) <= pos)) 196 && BOUNDARY_POS (c, low + 1) <= pos))
197 abort (); 197 emacs_abort ();
198 198
199 return low; 199 return low;
200} 200}
@@ -217,12 +217,12 @@ move_cache_gap (struct region_cache *c, ptrdiff_t pos, ptrdiff_t min_size)
217 217
218 if (pos < 0 218 if (pos < 0
219 || pos > c->cache_len) 219 || pos > c->cache_len)
220 abort (); 220 emacs_abort ();
221 221
222 /* We mustn't ever try to put the gap before the dummy start 222 /* We mustn't ever try to put the gap before the dummy start
223 boundary. That must always be start-relative. */ 223 boundary. That must always be start-relative. */
224 if (pos == 0) 224 if (pos == 0)
225 abort (); 225 emacs_abort ();
226 226
227 /* Need we move the gap right? */ 227 /* Need we move the gap right? */
228 while (gap_start < pos) 228 while (gap_start < pos)
@@ -291,24 +291,24 @@ insert_cache_boundary (struct region_cache *c, ptrdiff_t i, ptrdiff_t pos,
291{ 291{
292 /* i must be a valid cache index. */ 292 /* i must be a valid cache index. */
293 if (i < 0 || i > c->cache_len) 293 if (i < 0 || i > c->cache_len)
294 abort (); 294 emacs_abort ();
295 295
296 /* We must never want to insert something before the dummy first 296 /* We must never want to insert something before the dummy first
297 boundary. */ 297 boundary. */
298 if (i == 0) 298 if (i == 0)
299 abort (); 299 emacs_abort ();
300 300
301 /* We must only be inserting things in order. */ 301 /* We must only be inserting things in order. */
302 if (! (BOUNDARY_POS (c, i - 1) < pos 302 if (! (BOUNDARY_POS (c, i - 1) < pos
303 && (i == c->cache_len 303 && (i == c->cache_len
304 || pos < BOUNDARY_POS (c, i)))) 304 || pos < BOUNDARY_POS (c, i))))
305 abort (); 305 emacs_abort ();
306 306
307 /* The value must be different from the ones around it. However, we 307 /* The value must be different from the ones around it. However, we
308 temporarily create boundaries that establish the same value as 308 temporarily create boundaries that establish the same value as
309 the subsequent boundary, so we're not going to flag that case. */ 309 the subsequent boundary, so we're not going to flag that case. */
310 if (BOUNDARY_VALUE (c, i - 1) == value) 310 if (BOUNDARY_VALUE (c, i - 1) == value)
311 abort (); 311 emacs_abort ();
312 312
313 move_cache_gap (c, i, 1); 313 move_cache_gap (c, i, 1);
314 314
@@ -331,16 +331,16 @@ delete_cache_boundaries (struct region_cache *c,
331 /* Gotta be in range. */ 331 /* Gotta be in range. */
332 if (start < 0 332 if (start < 0
333 || end > c->cache_len) 333 || end > c->cache_len)
334 abort (); 334 emacs_abort ();
335 335
336 /* Gotta be in order. */ 336 /* Gotta be in order. */
337 if (start > end) 337 if (start > end)
338 abort (); 338 emacs_abort ();
339 339
340 /* Can't delete the dummy entry. */ 340 /* Can't delete the dummy entry. */
341 if (start == 0 341 if (start == 0
342 && end >= 1) 342 && end >= 1)
343 abort (); 343 emacs_abort ();
344 344
345 /* Minimize gap motion. If we're deleting nothing, do nothing. */ 345 /* Minimize gap motion. If we're deleting nothing, do nothing. */
346 if (len == 0) 346 if (len == 0)
@@ -380,10 +380,10 @@ set_cache_region (struct region_cache *c,
380 ptrdiff_t start, ptrdiff_t end, int value) 380 ptrdiff_t start, ptrdiff_t end, int value)
381{ 381{
382 if (start > end) 382 if (start > end)
383 abort (); 383 emacs_abort ();
384 if (start < c->buffer_beg 384 if (start < c->buffer_beg
385 || end > c->buffer_end) 385 || end > c->buffer_end)
386 abort (); 386 emacs_abort ();
387 387
388 /* Eliminate this case; then we can assume that start and end-1 are 388 /* Eliminate this case; then we can assume that start and end-1 are
389 both the locations of real characters in the buffer. */ 389 both the locations of real characters in the buffer. */
diff --git a/src/scroll.c b/src/scroll.c
index 78ebe65bdcc..79dd464b29e 100644
--- a/src/scroll.c
+++ b/src/scroll.c
@@ -195,13 +195,13 @@ calculate_scrolling (FRAME_PTR frame,
195 { 195 {
196 cost = p1->writecost + first_insert_cost[i]; 196 cost = p1->writecost + first_insert_cost[i];
197 if ((int) p1->insertcount > i) 197 if ((int) p1->insertcount > i)
198 abort (); 198 emacs_abort ();
199 cost1 = p1->insertcost + next_insert_cost[i - p1->insertcount]; 199 cost1 = p1->insertcost + next_insert_cost[i - p1->insertcount];
200 } 200 }
201 p->insertcost = min (cost, cost1) + draw_cost[i] + extra_cost; 201 p->insertcost = min (cost, cost1) + draw_cost[i] + extra_cost;
202 p->insertcount = (cost < cost1) ? 1 : p1->insertcount + 1; 202 p->insertcount = (cost < cost1) ? 1 : p1->insertcount + 1;
203 if ((int) p->insertcount > i) 203 if ((int) p->insertcount > i)
204 abort (); 204 emacs_abort ();
205 205
206 /* Calculate the cost if we do a delete line after 206 /* Calculate the cost if we do a delete line after
207 outputting this line. 207 outputting this line.
diff --git a/src/search.c b/src/search.c
index 0b4f635066c..72bd5605709 100644
--- a/src/search.c
+++ b/src/search.c
@@ -1009,7 +1009,7 @@ search_command (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror,
1009 if (!EQ (noerror, Qt)) 1009 if (!EQ (noerror, Qt))
1010 { 1010 {
1011 if (lim < BEGV || lim > ZV) 1011 if (lim < BEGV || lim > ZV)
1012 abort (); 1012 emacs_abort ();
1013 SET_PT_BOTH (lim, lim_byte); 1013 SET_PT_BOTH (lim, lim_byte);
1014 return Qnil; 1014 return Qnil;
1015#if 0 /* This would be clean, but maybe programs depend on 1015#if 0 /* This would be clean, but maybe programs depend on
@@ -1022,7 +1022,7 @@ search_command (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror,
1022 } 1022 }
1023 1023
1024 if (np < BEGV || np > ZV) 1024 if (np < BEGV || np > ZV)
1025 abort (); 1025 emacs_abort ();
1026 1026
1027 SET_PT (np); 1027 SET_PT (np);
1028 1028
@@ -2770,7 +2770,7 @@ Return value is undefined if the last search failed. */)
2770 } 2770 }
2771 else 2771 else
2772 /* last_thing_searched must always be Qt, a buffer, or Qnil. */ 2772 /* last_thing_searched must always be Qt, a buffer, or Qnil. */
2773 abort (); 2773 emacs_abort ();
2774 2774
2775 len = 2 * i + 2; 2775 len = 2 * i + 2;
2776 } 2776 }
diff --git a/src/sound.c b/src/sound.c
index 403f08240ce..d20fa5ee8eb 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -843,7 +843,7 @@ vox_choose_format (struct sound_device *sd, struct sound *s)
843 } 843 }
844 } 844 }
845 else 845 else
846 abort (); 846 emacs_abort ();
847} 847}
848 848
849 849
@@ -1138,7 +1138,7 @@ alsa_choose_format (struct sound_device *sd, struct sound *s)
1138 } 1138 }
1139 } 1139 }
1140 else 1140 else
1141 abort (); 1141 emacs_abort ();
1142} 1142}
1143 1143
1144 1144
diff --git a/src/sysdep.c b/src/sysdep.c
index b84e6a4ea3a..78164a8f02a 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -1856,6 +1856,15 @@ snprintf (char *buf, size_t bufsize, char const *format, ...)
1856} 1856}
1857#endif 1857#endif
1858 1858
1859#ifndef HAVE_NTGUI
1860/* Using emacs_abort lets GDB return from a breakpoint here. */
1861void
1862emacs_abort (void)
1863{
1864 abort ();
1865}
1866#endif
1867
1859int 1868int
1860emacs_open (const char *path, int oflag, int mode) 1869emacs_open (const char *path, int oflag, int mode)
1861{ 1870{
diff --git a/src/term.c b/src/term.c
index f1a09b39cf9..8cc5dfd2a87 100644
--- a/src/term.c
+++ b/src/term.c
@@ -1498,7 +1498,7 @@ append_glyph (struct it *it)
1498 { 1498 {
1499 glyph->resolved_level = it->bidi_it.resolved_level; 1499 glyph->resolved_level = it->bidi_it.resolved_level;
1500 if ((it->bidi_it.type & 7) != it->bidi_it.type) 1500 if ((it->bidi_it.type & 7) != it->bidi_it.type)
1501 abort (); 1501 emacs_abort ();
1502 glyph->bidi_type = it->bidi_it.type; 1502 glyph->bidi_type = it->bidi_it.type;
1503 } 1503 }
1504 else 1504 else
@@ -1695,7 +1695,7 @@ append_composite_glyph (struct it *it)
1695 { 1695 {
1696 glyph->resolved_level = it->bidi_it.resolved_level; 1696 glyph->resolved_level = it->bidi_it.resolved_level;
1697 if ((it->bidi_it.type & 7) != it->bidi_it.type) 1697 if ((it->bidi_it.type & 7) != it->bidi_it.type)
1698 abort (); 1698 emacs_abort ();
1699 glyph->bidi_type = it->bidi_it.type; 1699 glyph->bidi_type = it->bidi_it.type;
1700 } 1700 }
1701 else 1701 else
@@ -1780,7 +1780,7 @@ append_glyphless_glyph (struct it *it, int face_id, const char *str)
1780 { 1780 {
1781 glyph->resolved_level = it->bidi_it.resolved_level; 1781 glyph->resolved_level = it->bidi_it.resolved_level;
1782 if ((it->bidi_it.type & 7) != it->bidi_it.type) 1782 if ((it->bidi_it.type & 7) != it->bidi_it.type)
1783 abort (); 1783 emacs_abort ();
1784 glyph->bidi_type = it->bidi_it.type; 1784 glyph->bidi_type = it->bidi_it.type;
1785 } 1785 }
1786 else 1786 else
@@ -2250,7 +2250,7 @@ get_named_tty (const char *name)
2250 struct terminal *t; 2250 struct terminal *t;
2251 2251
2252 if (!name) 2252 if (!name)
2253 abort (); 2253 emacs_abort ();
2254 2254
2255 for (t = terminal_list; t; t = t->next_terminal) 2255 for (t = terminal_list; t; t = t->next_terminal)
2256 { 2256 {
@@ -2798,7 +2798,7 @@ create_tty_output (struct frame *f)
2798 struct tty_output *t = xzalloc (sizeof *t); 2798 struct tty_output *t = xzalloc (sizeof *t);
2799 2799
2800 if (! FRAME_TERMCAP_P (f)) 2800 if (! FRAME_TERMCAP_P (f))
2801 abort (); 2801 emacs_abort ();
2802 2802
2803 t->display_info = FRAME_TERMINAL (f)->display_info.tty; 2803 t->display_info = FRAME_TERMINAL (f)->display_info.tty;
2804 2804
@@ -2811,7 +2811,7 @@ static void
2811tty_free_frame_resources (struct frame *f) 2811tty_free_frame_resources (struct frame *f)
2812{ 2812{
2813 if (! FRAME_TERMCAP_P (f)) 2813 if (! FRAME_TERMCAP_P (f))
2814 abort (); 2814 emacs_abort ();
2815 2815
2816 if (FRAME_FACE_CACHE (f)) 2816 if (FRAME_FACE_CACHE (f))
2817 free_frame_faces (f); 2817 free_frame_faces (f);
@@ -2827,7 +2827,7 @@ static void
2827tty_free_frame_resources (struct frame *f) 2827tty_free_frame_resources (struct frame *f)
2828{ 2828{
2829 if (! FRAME_TERMCAP_P (f) && ! FRAME_MSDOS_P (f)) 2829 if (! FRAME_TERMCAP_P (f) && ! FRAME_MSDOS_P (f))
2830 abort (); 2830 emacs_abort ();
2831 2831
2832 if (FRAME_FACE_CACHE (f)) 2832 if (FRAME_FACE_CACHE (f))
2833 free_frame_faces (f); 2833 free_frame_faces (f);
@@ -3108,7 +3108,7 @@ use the Bourne shell command `TERM=... export TERM' (C-shell:\n\
3108 3108
3109#ifndef TERMINFO 3109#ifndef TERMINFO
3110 if (strlen (tty->termcap_term_buffer) >= buffer_size) 3110 if (strlen (tty->termcap_term_buffer) >= buffer_size)
3111 abort (); 3111 emacs_abort ();
3112 buffer_size = strlen (tty->termcap_term_buffer); 3112 buffer_size = strlen (tty->termcap_term_buffer);
3113#endif 3113#endif
3114 tty->termcap_strings_buffer = area = xmalloc (buffer_size); 3114 tty->termcap_strings_buffer = area = xmalloc (buffer_size);
@@ -3467,7 +3467,7 @@ maybe_fatal (int must_succeed, struct terminal *terminal,
3467 verror (str1, ap); 3467 verror (str1, ap);
3468 3468
3469 va_end (ap); 3469 va_end (ap);
3470 abort (); 3470 emacs_abort ();
3471} 3471}
3472 3472
3473void 3473void
@@ -3494,7 +3494,7 @@ delete_tty (struct terminal *terminal)
3494 return; 3494 return;
3495 3495
3496 if (terminal->type != output_termcap) 3496 if (terminal->type != output_termcap)
3497 abort (); 3497 emacs_abort ();
3498 3498
3499 tty = terminal->display_info.tty; 3499 tty = terminal->display_info.tty;
3500 3500
@@ -3508,7 +3508,7 @@ delete_tty (struct terminal *terminal)
3508 3508
3509 if (! p) 3509 if (! p)
3510 /* This should not happen. */ 3510 /* This should not happen. */
3511 abort (); 3511 emacs_abort ();
3512 3512
3513 p->next = tty->next; 3513 p->next = tty->next;
3514 tty->next = 0; 3514 tty->next = 0;
diff --git a/src/termchar.h b/src/termchar.h
index 102fe45350e..5c57593c04f 100644
--- a/src/termchar.h
+++ b/src/termchar.h
@@ -207,6 +207,6 @@ extern struct tty_display_info *tty_list;
207 (((f)->output_method == output_termcap \ 207 (((f)->output_method == output_termcap \
208 || (f)->output_method == output_msdos_raw) \ 208 || (f)->output_method == output_msdos_raw) \
209 ? (f)->terminal->display_info.tty \ 209 ? (f)->terminal->display_info.tty \
210 : (abort (), (struct tty_display_info *) 0)) 210 : (emacs_abort (), (struct tty_display_info *) 0))
211 211
212#define CURTTY() FRAME_TTY (SELECTED_FRAME()) 212#define CURTTY() FRAME_TTY (SELECTED_FRAME())
diff --git a/src/terminal.c b/src/terminal.c
index d94164a4e40..c51a18dfa61 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -294,7 +294,7 @@ delete_terminal (struct terminal *terminal)
294 294
295 for (tp = &terminal_list; *tp != terminal; tp = &(*tp)->next_terminal) 295 for (tp = &terminal_list; *tp != terminal; tp = &(*tp)->next_terminal)
296 if (! *tp) 296 if (! *tp)
297 abort (); 297 emacs_abort ();
298 *tp = terminal->next_terminal; 298 *tp = terminal->next_terminal;
299 299
300 xfree (terminal->keyboard_coding); 300 xfree (terminal->keyboard_coding);
@@ -411,7 +411,7 @@ possible return values. */)
411 case output_ns: 411 case output_ns:
412 return Qns; 412 return Qns;
413 default: 413 default:
414 abort (); 414 emacs_abort ();
415 } 415 }
416} 416}
417 417
@@ -519,7 +519,7 @@ struct terminal *
519init_initial_terminal (void) 519init_initial_terminal (void)
520{ 520{
521 if (initialized || terminal_list || tty_list) 521 if (initialized || terminal_list || tty_list)
522 abort (); 522 emacs_abort ();
523 523
524 initial_terminal = create_terminal (); 524 initial_terminal = create_terminal ();
525 initial_terminal->type = output_initial; 525 initial_terminal->type = output_initial;
@@ -538,7 +538,7 @@ static void
538delete_initial_terminal (struct terminal *terminal) 538delete_initial_terminal (struct terminal *terminal)
539{ 539{
540 if (terminal != initial_terminal) 540 if (terminal != initial_terminal)
541 abort (); 541 emacs_abort ();
542 542
543 delete_terminal (terminal); 543 delete_terminal (terminal);
544 initial_terminal = NULL; 544 initial_terminal = NULL;
diff --git a/src/terminfo.c b/src/terminfo.c
index dce7af77bcf..ca2d89a000b 100644
--- a/src/terminfo.c
+++ b/src/terminfo.c
@@ -46,7 +46,7 @@ tparam (const char *string, char *outstring, int len,
46 46
47 /* Emacs always should pass a null OUTSTRING and zero LEN. */ 47 /* Emacs always should pass a null OUTSTRING and zero LEN. */
48 if (outstring || len) 48 if (outstring || len)
49 abort (); 49 emacs_abort ();
50 50
51 temp = tparm (string, arg1, arg2, arg3, arg4); 51 temp = tparm (string, arg1, arg2, arg3, arg4);
52 return xstrdup (temp); 52 return xstrdup (temp);
diff --git a/src/tparam.c b/src/tparam.c
index 9492d9dee36..58a825c90d7 100644
--- a/src/tparam.c
+++ b/src/tparam.c
@@ -247,7 +247,7 @@ tparam1 (const char *string, char *outstring, int len,
247 break; 247 break;
248 248
249 default: 249 default:
250 abort (); 250 emacs_abort ();
251 } 251 }
252 } 252 }
253 else 253 else
diff --git a/src/w32.c b/src/w32.c
index fe612687f48..4505afc18b3 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -1273,9 +1273,9 @@ init_user_info (void)
1273 1273
1274 /* Ensure HOME and SHELL are defined. */ 1274 /* Ensure HOME and SHELL are defined. */
1275 if (getenv ("HOME") == NULL) 1275 if (getenv ("HOME") == NULL)
1276 abort (); 1276 emacs_abort ();
1277 if (getenv ("SHELL") == NULL) 1277 if (getenv ("SHELL") == NULL)
1278 abort (); 1278 emacs_abort ();
1279 1279
1280 /* Set dir and shell from environment variables. */ 1280 /* Set dir and shell from environment variables. */
1281 strcpy (dflt_passwd.pw_dir, getenv ("HOME")); 1281 strcpy (dflt_passwd.pw_dir, getenv ("HOME"));
@@ -1788,9 +1788,9 @@ init_environment (char ** argv)
1788 char modname[MAX_PATH]; 1788 char modname[MAX_PATH];
1789 1789
1790 if (!GetModuleFileName (NULL, modname, MAX_PATH)) 1790 if (!GetModuleFileName (NULL, modname, MAX_PATH))
1791 abort (); 1791 emacs_abort ();
1792 if ((p = strrchr (modname, '\\')) == NULL) 1792 if ((p = strrchr (modname, '\\')) == NULL)
1793 abort (); 1793 emacs_abort ();
1794 *p = 0; 1794 *p = 0;
1795 1795
1796 if ((p = strrchr (modname, '\\')) && xstrcasecmp (p, "\\bin") == 0) 1796 if ((p = strrchr (modname, '\\')) && xstrcasecmp (p, "\\bin") == 0)
@@ -1902,13 +1902,13 @@ init_environment (char ** argv)
1902 /* FIXME: Do we need to resolve possible symlinks in startup_dir? 1902 /* FIXME: Do we need to resolve possible symlinks in startup_dir?
1903 Does it matter anywhere in Emacs? */ 1903 Does it matter anywhere in Emacs? */
1904 if (!GetCurrentDirectory (MAXPATHLEN, startup_dir)) 1904 if (!GetCurrentDirectory (MAXPATHLEN, startup_dir))
1905 abort (); 1905 emacs_abort ();
1906 1906
1907 { 1907 {
1908 static char modname[MAX_PATH]; 1908 static char modname[MAX_PATH];
1909 1909
1910 if (!GetModuleFileName (NULL, modname, MAX_PATH)) 1910 if (!GetModuleFileName (NULL, modname, MAX_PATH))
1911 abort (); 1911 emacs_abort ();
1912 argv[0] = modname; 1912 argv[0] = modname;
1913 } 1913 }
1914 1914
@@ -1930,7 +1930,7 @@ emacs_root_dir (void)
1930 1930
1931 p = getenv ("emacs_dir"); 1931 p = getenv ("emacs_dir");
1932 if (p == NULL) 1932 if (p == NULL)
1933 abort (); 1933 emacs_abort ();
1934 strcpy (root_dir, p); 1934 strcpy (root_dir, p);
1935 root_dir[parse_root (root_dir, NULL)] = '\0'; 1935 root_dir[parse_root (root_dir, NULL)] = '\0';
1936 dostounix_filename (root_dir); 1936 dostounix_filename (root_dir);
@@ -3287,7 +3287,7 @@ generate_inode_val (const char * name)
3287 doesn't resolve aliasing due to subst commands, or recognize hard 3287 doesn't resolve aliasing due to subst commands, or recognize hard
3288 links. */ 3288 links. */
3289 if (!w32_get_long_filename ((char *)name, fullname, MAX_PATH)) 3289 if (!w32_get_long_filename ((char *)name, fullname, MAX_PATH))
3290 abort (); 3290 emacs_abort ();
3291 3291
3292 parse_root (fullname, &p); 3292 parse_root (fullname, &p);
3293 /* Normal W32 filesystems are still case insensitive. */ 3293 /* Normal W32 filesystems are still case insensitive. */
@@ -5587,7 +5587,7 @@ socket_to_fd (SOCKET s)
5587 if (fd_info[ fd ].cp != NULL) 5587 if (fd_info[ fd ].cp != NULL)
5588 { 5588 {
5589 DebPrint (("sys_socket: fd_info[%d] apparently in use!\n", fd)); 5589 DebPrint (("sys_socket: fd_info[%d] apparently in use!\n", fd));
5590 abort (); 5590 emacs_abort ();
5591 } 5591 }
5592 5592
5593 fd_info[ fd ].cp = cp; 5593 fd_info[ fd ].cp = cp;
@@ -5966,7 +5966,7 @@ sys_close (int fd)
5966 { 5966 {
5967 if (fd_info[fd].flags & FILE_SOCKET) 5967 if (fd_info[fd].flags & FILE_SOCKET)
5968 { 5968 {
5969 if (winsock_lib == NULL) abort (); 5969 if (winsock_lib == NULL) emacs_abort ();
5970 5970
5971 pfn_shutdown (SOCK_HANDLE (fd), 2); 5971 pfn_shutdown (SOCK_HANDLE (fd), 2);
5972 rc = pfn_closesocket (SOCK_HANDLE (fd)); 5972 rc = pfn_closesocket (SOCK_HANDLE (fd));
@@ -6084,7 +6084,7 @@ _sys_read_ahead (int fd)
6084 || (fd_info[fd].flags & FILE_READ) == 0) 6084 || (fd_info[fd].flags & FILE_READ) == 0)
6085 { 6085 {
6086 DebPrint (("_sys_read_ahead: internal error: fd %d is not a pipe, serial port, or socket!\n", fd)); 6086 DebPrint (("_sys_read_ahead: internal error: fd %d is not a pipe, serial port, or socket!\n", fd));
6087 abort (); 6087 emacs_abort ();
6088 } 6088 }
6089 6089
6090 cp->status = STATUS_READ_IN_PROGRESS; 6090 cp->status = STATUS_READ_IN_PROGRESS;
@@ -6220,7 +6220,7 @@ sys_read (int fd, char * buffer, unsigned int count)
6220 /* re-read CR carried over from last read */ 6220 /* re-read CR carried over from last read */
6221 if (fd_info[fd].flags & FILE_LAST_CR) 6221 if (fd_info[fd].flags & FILE_LAST_CR)
6222 { 6222 {
6223 if (fd_info[fd].flags & FILE_BINARY) abort (); 6223 if (fd_info[fd].flags & FILE_BINARY) emacs_abort ();
6224 *buffer++ = 0x0d; 6224 *buffer++ = 0x0d;
6225 count--; 6225 count--;
6226 nchars++; 6226 nchars++;
@@ -6323,7 +6323,7 @@ sys_read (int fd, char * buffer, unsigned int count)
6323 } 6323 }
6324 else /* FILE_SOCKET */ 6324 else /* FILE_SOCKET */
6325 { 6325 {
6326 if (winsock_lib == NULL) abort (); 6326 if (winsock_lib == NULL) emacs_abort ();
6327 6327
6328 /* do the equivalent of a non-blocking read */ 6328 /* do the equivalent of a non-blocking read */
6329 pfn_ioctlsocket (SOCK_HANDLE (fd), FIONREAD, &waiting); 6329 pfn_ioctlsocket (SOCK_HANDLE (fd), FIONREAD, &waiting);
@@ -6474,7 +6474,7 @@ sys_write (int fd, const void * buffer, unsigned int count)
6474 else if (fd < MAXDESC && fd_info[fd].flags & FILE_SOCKET) 6474 else if (fd < MAXDESC && fd_info[fd].flags & FILE_SOCKET)
6475 { 6475 {
6476 unsigned long nblock = 0; 6476 unsigned long nblock = 0;
6477 if (winsock_lib == NULL) abort (); 6477 if (winsock_lib == NULL) emacs_abort ();
6478 6478
6479 /* TODO: implement select() properly so non-blocking I/O works. */ 6479 /* TODO: implement select() properly so non-blocking I/O works. */
6480 /* For now, make sure the write blocks. */ 6480 /* For now, make sure the write blocks. */
@@ -6640,8 +6640,7 @@ check_windows_init_file (void)
6640 buffer, 6640 buffer,
6641 "Emacs Abort Dialog", 6641 "Emacs Abort Dialog",
6642 MB_OK | MB_ICONEXCLAMATION | MB_TASKMODAL); 6642 MB_OK | MB_ICONEXCLAMATION | MB_TASKMODAL);
6643 /* Use the low-level Emacs abort. */ 6643 /* Use the low-level system abort. */
6644#undef abort
6645 abort (); 6644 abort ();
6646 } 6645 }
6647 else 6646 else
diff --git a/src/w32fns.c b/src/w32fns.c
index 5a1b6dfabab..ec1acbd89d9 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -2280,7 +2280,7 @@ w32_msg_pump (deferred_msg * msg_buf)
2280 CoInitialize (NULL); 2280 CoInitialize (NULL);
2281 w32_createwindow ((struct frame *) msg.wParam); 2281 w32_createwindow ((struct frame *) msg.wParam);
2282 if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 0, 0)) 2282 if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 0, 0))
2283 abort (); 2283 emacs_abort ();
2284 break; 2284 break;
2285 case WM_EMACS_SETLOCALE: 2285 case WM_EMACS_SETLOCALE:
2286 SetThreadLocale (msg.wParam); 2286 SetThreadLocale (msg.wParam);
@@ -2290,7 +2290,7 @@ w32_msg_pump (deferred_msg * msg_buf)
2290 result = (int) ActivateKeyboardLayout ((HKL) msg.wParam, 0); 2290 result = (int) ActivateKeyboardLayout ((HKL) msg.wParam, 0);
2291 if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 2291 if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE,
2292 result, 0)) 2292 result, 0))
2293 abort (); 2293 emacs_abort ();
2294 break; 2294 break;
2295 case WM_EMACS_REGISTER_HOT_KEY: 2295 case WM_EMACS_REGISTER_HOT_KEY:
2296 focus_window = GetFocus (); 2296 focus_window = GetFocus ();
@@ -2311,7 +2311,7 @@ w32_msg_pump (deferred_msg * msg_buf)
2311 GC. */ 2311 GC. */
2312 XSETCAR ((Lisp_Object) ((EMACS_INT) msg.lParam), Qnil); 2312 XSETCAR ((Lisp_Object) ((EMACS_INT) msg.lParam), Qnil);
2313 if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 0, 0)) 2313 if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 0, 0))
2314 abort (); 2314 emacs_abort ();
2315 break; 2315 break;
2316 case WM_EMACS_TOGGLE_LOCK_KEY: 2316 case WM_EMACS_TOGGLE_LOCK_KEY:
2317 { 2317 {
@@ -2343,7 +2343,7 @@ w32_msg_pump (deferred_msg * msg_buf)
2343 } 2343 }
2344 if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 2344 if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE,
2345 cur_state, 0)) 2345 cur_state, 0))
2346 abort (); 2346 emacs_abort ();
2347 } 2347 }
2348 break; 2348 break;
2349#ifdef MSG_DEBUG 2349#ifdef MSG_DEBUG
@@ -2398,11 +2398,11 @@ send_deferred_msg (deferred_msg * msg_buf,
2398{ 2398{
2399 /* Only input thread can send deferred messages. */ 2399 /* Only input thread can send deferred messages. */
2400 if (GetCurrentThreadId () != dwWindowsThreadId) 2400 if (GetCurrentThreadId () != dwWindowsThreadId)
2401 abort (); 2401 emacs_abort ();
2402 2402
2403 /* It is an error to send a message that is already deferred. */ 2403 /* It is an error to send a message that is already deferred. */
2404 if (find_deferred_msg (hwnd, msg) != NULL) 2404 if (find_deferred_msg (hwnd, msg) != NULL)
2405 abort (); 2405 emacs_abort ();
2406 2406
2407 /* Enforced synchronization is not needed because this is the only 2407 /* Enforced synchronization is not needed because this is the only
2408 function that alters deferred_msg_head, and the following critical 2408 function that alters deferred_msg_head, and the following critical
@@ -2475,7 +2475,7 @@ w32_msg_worker (void *arg)
2475 PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE); 2475 PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE);
2476 2476
2477 if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 0, 0)) 2477 if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 0, 0))
2478 abort (); 2478 emacs_abort ();
2479 2479
2480 memset (&dummy_buf, 0, sizeof (dummy_buf)); 2480 memset (&dummy_buf, 0, sizeof (dummy_buf));
2481 dummy_buf.w32msg.msg.hwnd = NULL; 2481 dummy_buf.w32msg.msg.hwnd = NULL;
@@ -3136,7 +3136,7 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
3136 msg = WM_MBUTTONUP; 3136 msg = WM_MBUTTONUP;
3137 button_state &= ~MMOUSE; 3137 button_state &= ~MMOUSE;
3138 3138
3139 if (button_state) abort (); 3139 if (button_state) emacs_abort ();
3140 } 3140 }
3141 else 3141 else
3142 return 0; 3142 return 0;
@@ -3367,7 +3367,7 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
3367 /* Detect if message has already been deferred; in this case 3367 /* Detect if message has already been deferred; in this case
3368 we cannot return any sensible value to ignore this. */ 3368 we cannot return any sensible value to ignore this. */
3369 if (find_deferred_msg (hwnd, msg) != NULL) 3369 if (find_deferred_msg (hwnd, msg) != NULL)
3370 abort (); 3370 emacs_abort ();
3371 3371
3372 menubar_in_use = 1; 3372 menubar_in_use = 1;
3373 3373
@@ -3842,7 +3842,7 @@ my_create_window (struct frame * f)
3842 MSG msg; 3842 MSG msg;
3843 3843
3844 if (!PostThreadMessage (dwWindowsThreadId, WM_EMACS_CREATEWINDOW, (WPARAM)f, 0)) 3844 if (!PostThreadMessage (dwWindowsThreadId, WM_EMACS_CREATEWINDOW, (WPARAM)f, 0))
3845 abort (); 3845 emacs_abort ();
3846 GetMessage (&msg, NULL, WM_EMACS_DONE, WM_EMACS_DONE); 3846 GetMessage (&msg, NULL, WM_EMACS_DONE, WM_EMACS_DONE);
3847} 3847}
3848 3848
@@ -6287,7 +6287,7 @@ w32_parse_hot_key (Lisp_Object key)
6287 lisp_modifiers = XINT (Fcar (Fcdr (c))); 6287 lisp_modifiers = XINT (Fcar (Fcdr (c)));
6288 c = Fcar (c); 6288 c = Fcar (c);
6289 if (!SYMBOLP (c)) 6289 if (!SYMBOLP (c))
6290 abort (); 6290 emacs_abort ();
6291 vk_code = lookup_vk_code (SDATA (SYMBOL_NAME (c))); 6291 vk_code = lookup_vk_code (SDATA (SYMBOL_NAME (c)));
6292 } 6292 }
6293 else if (INTEGERP (c)) 6293 else if (INTEGERP (c))
@@ -7194,10 +7194,8 @@ globals_of_w32fns (void)
7194 syms_of_w32uniscribe (); 7194 syms_of_w32uniscribe ();
7195} 7195}
7196 7196
7197#undef abort
7198
7199void 7197void
7200w32_abort (void) 7198emacs_abort (void)
7201{ 7199{
7202 int button; 7200 int button;
7203 button = MessageBox (NULL, 7201 button = MessageBox (NULL,
diff --git a/src/w32menu.c b/src/w32menu.c
index 3aa4c8bc96d..d4de73a0de7 100644
--- a/src/w32menu.c
+++ b/src/w32menu.c
@@ -820,7 +820,7 @@ w32_menu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
820 else if (EQ (type, QCradio)) 820 else if (EQ (type, QCradio))
821 wv->button_type = BUTTON_TYPE_RADIO; 821 wv->button_type = BUTTON_TYPE_RADIO;
822 else 822 else
823 abort (); 823 emacs_abort ();
824 824
825 wv->selected = !NILP (selected); 825 wv->selected = !NILP (selected);
826 826
diff --git a/src/w32proc.c b/src/w32proc.c
index 33aed5eb8e3..f83e81aedff 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -176,7 +176,7 @@ delete_child (child_process *cp)
176 /* Should not be deleting a child that is still needed. */ 176 /* Should not be deleting a child that is still needed. */
177 for (i = 0; i < MAXDESC; i++) 177 for (i = 0; i < MAXDESC; i++)
178 if (fd_info[i].cp == cp) 178 if (fd_info[i].cp == cp)
179 abort (); 179 emacs_abort ();
180 180
181 if (!CHILD_ACTIVE (cp)) 181 if (!CHILD_ACTIVE (cp))
182 return; 182 return;
@@ -316,7 +316,7 @@ create_child (char *exe, char *cmdline, char *env, int is_gui_app,
316 DWORD flags; 316 DWORD flags;
317 char dir[ MAXPATHLEN ]; 317 char dir[ MAXPATHLEN ];
318 318
319 if (cp == NULL) abort (); 319 if (cp == NULL) emacs_abort ();
320 320
321 memset (&start, 0, sizeof (start)); 321 memset (&start, 0, sizeof (start));
322 start.cb = sizeof (start); 322 start.cb = sizeof (start);
@@ -405,7 +405,7 @@ register_child (int pid, int fd)
405 if (fd_info[fd].cp != NULL) 405 if (fd_info[fd].cp != NULL)
406 { 406 {
407 DebPrint (("register_child: fd_info[%d] apparently in use!\n", fd)); 407 DebPrint (("register_child: fd_info[%d] apparently in use!\n", fd));
408 abort (); 408 emacs_abort ();
409 } 409 }
410 410
411 fd_info[fd].cp = cp; 411 fd_info[fd].cp = cp;
@@ -459,7 +459,7 @@ sys_wait (int *status)
459 /* We want to wait for a specific child */ 459 /* We want to wait for a specific child */
460 wait_hnd[nh] = dead_child->procinfo.hProcess; 460 wait_hnd[nh] = dead_child->procinfo.hProcess;
461 cps[nh] = dead_child; 461 cps[nh] = dead_child;
462 if (!wait_hnd[nh]) abort (); 462 if (!wait_hnd[nh]) emacs_abort ();
463 nh++; 463 nh++;
464 active = 0; 464 active = 0;
465 goto get_result; 465 goto get_result;
@@ -507,7 +507,7 @@ sys_wait (int *status)
507 active -= WAIT_ABANDONED_0; 507 active -= WAIT_ABANDONED_0;
508 } 508 }
509 else 509 else
510 abort (); 510 emacs_abort ();
511 511
512get_result: 512get_result:
513 if (!GetExitCodeProcess (wait_hnd[active], &retval)) 513 if (!GetExitCodeProcess (wait_hnd[active], &retval))
@@ -1189,7 +1189,7 @@ sys_select (int nfds, SELECT_TYPE *rfds, SELECT_TYPE *wfds, SELECT_TYPE *efds,
1189#endif 1189#endif
1190 wait_hnd[nh] = cp->char_avail; 1190 wait_hnd[nh] = cp->char_avail;
1191 fdindex[nh] = i; 1191 fdindex[nh] = i;
1192 if (!wait_hnd[nh]) abort (); 1192 if (!wait_hnd[nh]) emacs_abort ();
1193 nh++; 1193 nh++;
1194#ifdef FULL_DEBUG 1194#ifdef FULL_DEBUG
1195 DebPrint (("select waiting on child %d fd %d\n", 1195 DebPrint (("select waiting on child %d fd %d\n",
@@ -1276,7 +1276,7 @@ count_children:
1276 active -= WAIT_ABANDONED_0; 1276 active -= WAIT_ABANDONED_0;
1277 } 1277 }
1278 else 1278 else
1279 abort (); 1279 emacs_abort ();
1280 1280
1281 /* Loop over all handles after active (now officially documented as 1281 /* Loop over all handles after active (now officially documented as
1282 being the first signaled handle in the array). We do this to 1282 being the first signaled handle in the array). We do this to
diff --git a/src/w32select.c b/src/w32select.c
index 59ff4405368..3fb88d4f17f 100644
--- a/src/w32select.c
+++ b/src/w32select.c
@@ -394,7 +394,7 @@ run_protected (Lisp_Object (*code) (Lisp_Object), Lisp_Object arg)
394 394
395 BLOCK_INPUT; 395 BLOCK_INPUT;
396 396
397 /* Fsignal calls abort() if it sees that waiting_for_input is 397 /* Fsignal calls emacs_abort () if it sees that waiting_for_input is
398 set. */ 398 set. */
399 owfi = waiting_for_input; 399 owfi = waiting_for_input;
400 waiting_for_input = 0; 400 waiting_for_input = 0;
diff --git a/src/w32term.c b/src/w32term.c
index 6948a98998e..571db3cbe8e 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -2426,7 +2426,7 @@ x_draw_glyph_string (struct glyph_string *s)
2426 break; 2426 break;
2427 2427
2428 default: 2428 default:
2429 abort (); 2429 emacs_abort ();
2430 } 2430 }
2431 2431
2432 if (!s->for_overlaps) 2432 if (!s->for_overlaps)
@@ -2626,7 +2626,7 @@ x_delete_glyphs (struct frame *f, register int n)
2626 if (! FRAME_W32_P (f)) 2626 if (! FRAME_W32_P (f))
2627 return; 2627 return;
2628 2628
2629 abort (); 2629 emacs_abort ();
2630} 2630}
2631 2631
2632 2632
@@ -2709,7 +2709,7 @@ x_ins_del_lines (struct frame *f, int vpos, int n)
2709 if (! FRAME_W32_P (f)) 2709 if (! FRAME_W32_P (f))
2710 return; 2710 return;
2711 2711
2712 abort (); 2712 emacs_abort ();
2713} 2713}
2714 2714
2715 2715
@@ -3431,7 +3431,7 @@ x_window_to_scroll_bar (Window window_id)
3431 frame = XCAR (tail); 3431 frame = XCAR (tail);
3432 /* All elements of Vframe_list should be frames. */ 3432 /* All elements of Vframe_list should be frames. */
3433 if (! FRAMEP (frame)) 3433 if (! FRAMEP (frame))
3434 abort (); 3434 emacs_abort ();
3435 3435
3436 /* Scan this frame's scroll bar list for a scroll bar with the 3436 /* Scan this frame's scroll bar list for a scroll bar with the
3437 right window ID. */ 3437 right window ID. */
@@ -3854,7 +3854,7 @@ w32_redeem_scroll_bar (struct window *window)
3854 3854
3855 /* We can't redeem this window's scroll bar if it doesn't have one. */ 3855 /* We can't redeem this window's scroll bar if it doesn't have one. */
3856 if (NILP (window->vertical_scroll_bar)) 3856 if (NILP (window->vertical_scroll_bar))
3857 abort (); 3857 emacs_abort ();
3858 3858
3859 bar = XSCROLL_BAR (window->vertical_scroll_bar); 3859 bar = XSCROLL_BAR (window->vertical_scroll_bar);
3860 3860
@@ -3873,7 +3873,7 @@ w32_redeem_scroll_bar (struct window *window)
3873 else 3873 else
3874 /* If its prev pointer is nil, it must be at the front of 3874 /* If its prev pointer is nil, it must be at the front of
3875 one or the other! */ 3875 one or the other! */
3876 abort (); 3876 emacs_abort ();
3877 } 3877 }
3878 else 3878 else
3879 XSCROLL_BAR (bar->prev)->next = bar->next; 3879 XSCROLL_BAR (bar->prev)->next = bar->next;
@@ -3928,7 +3928,7 @@ w32_scroll_bar_handle_click (struct scroll_bar *bar, W32Msg *msg,
3928 struct input_event *emacs_event) 3928 struct input_event *emacs_event)
3929{ 3929{
3930 if (! WINDOWP (bar->window)) 3930 if (! WINDOWP (bar->window))
3931 abort (); 3931 emacs_abort ();
3932 3932
3933 emacs_event->kind = SCROLL_BAR_CLICK_EVENT; 3933 emacs_event->kind = SCROLL_BAR_CLICK_EVENT;
3934 emacs_event->code = 0; 3934 emacs_event->code = 0;
@@ -5233,7 +5233,7 @@ w32_draw_window_cursor (struct window *w, struct glyph_row *glyph_row,
5233 break; 5233 break;
5234 5234
5235 default: 5235 default:
5236 abort (); 5236 emacs_abort ();
5237 } 5237 }
5238 } 5238 }
5239} 5239}
diff --git a/src/w32xfns.c b/src/w32xfns.c
index 62e45dd987b..820dbcc76c6 100644
--- a/src/w32xfns.c
+++ b/src/w32xfns.c
@@ -122,7 +122,7 @@ get_frame_dc (FRAME_PTR f)
122 HDC hdc; 122 HDC hdc;
123 123
124 if (f->output_method != output_w32) 124 if (f->output_method != output_w32)
125 abort (); 125 emacs_abort ();
126 126
127 enter_crit (); 127 enter_crit ();
128 128
diff --git a/src/widget.c b/src/widget.c
index ea9bdb61b13..9eaf6d1df6a 100644
--- a/src/widget.c
+++ b/src/widget.c
@@ -226,7 +226,7 @@ get_wm_shell (Widget w)
226static void 226static void
227mark_shell_size_user_specified (Widget wmshell) 227mark_shell_size_user_specified (Widget wmshell)
228{ 228{
229 if (! XtIsWMShell (wmshell)) abort (); 229 if (! XtIsWMShell (wmshell)) emacs_abort ();
230 /* This is kind of sleazy, but I can't see how else to tell it to make it 230 /* This is kind of sleazy, but I can't see how else to tell it to make it
231 mark the WM_SIZE_HINTS size as user specified when appropriate. */ 231 mark the WM_SIZE_HINTS size as user specified when appropriate. */
232 ((WMShellWidget) wmshell)->wm.size_hints.flags |= USSize; 232 ((WMShellWidget) wmshell)->wm.size_hints.flags |= USSize;
@@ -290,7 +290,7 @@ set_frame_size (EmacsFrame ew)
290 Widget wmshell = get_wm_shell ((Widget) ew); 290 Widget wmshell = get_wm_shell ((Widget) ew);
291 /* Each Emacs shell is now independent and top-level. */ 291 /* Each Emacs shell is now independent and top-level. */
292 292
293 if (! XtIsSubclass (wmshell, shellWidgetClass)) abort (); 293 if (! XtIsSubclass (wmshell, shellWidgetClass)) emacs_abort ();
294 294
295 /* We don't need this for the moment. The geometry is computed in 295 /* We don't need this for the moment. The geometry is computed in
296 xfns.c. */ 296 xfns.c. */
@@ -677,8 +677,8 @@ EmacsFrameDestroy (Widget widget)
677 EmacsFrame ew = (EmacsFrame) widget; 677 EmacsFrame ew = (EmacsFrame) widget;
678 struct frame* s = ew->emacs_frame.frame; 678 struct frame* s = ew->emacs_frame.frame;
679 679
680 if (! s) abort (); 680 if (! s) emacs_abort ();
681 if (! s->output_data.x) abort (); 681 if (! s->output_data.x) emacs_abort ();
682 682
683 BLOCK_INPUT; 683 BLOCK_INPUT;
684 x_free_gcs (s); 684 x_free_gcs (s);
diff --git a/src/window.c b/src/window.c
index 38124cb13a9..08608e0d451 100644
--- a/src/window.c
+++ b/src/window.c
@@ -386,7 +386,7 @@ the first window of that frame. */)
386 else if (! NILP (XWINDOW (window)->vchild)) 386 else if (! NILP (XWINDOW (window)->vchild))
387 window = XWINDOW (window)->vchild; 387 window = XWINDOW (window)->vchild;
388 else 388 else
389 abort (); 389 emacs_abort ();
390 } 390 }
391 391
392 return window; 392 return window;
@@ -1289,7 +1289,7 @@ If they are in the windows's left or right marginal areas, `left-margin'\n\
1289 return Qnil; 1289 return Qnil;
1290 1290
1291 default: 1291 default:
1292 abort (); 1292 emacs_abort ();
1293 } 1293 }
1294} 1294}
1295 1295
@@ -1948,7 +1948,7 @@ unshow_buffer (register struct window *w)
1948 buf = w->buffer; 1948 buf = w->buffer;
1949 b = XBUFFER (buf); 1949 b = XBUFFER (buf);
1950 if (b != XMARKER (w->pointm)->buffer) 1950 if (b != XMARKER (w->pointm)->buffer)
1951 abort (); 1951 emacs_abort ();
1952 1952
1953#if 0 1953#if 0
1954 if (w == XWINDOW (selected_window) 1954 if (w == XWINDOW (selected_window)
@@ -2669,7 +2669,7 @@ window_loop (enum window_loop type, Lisp_Object obj, int mini, Lisp_Object frame
2669 case CHECK_ALL_WINDOWS: 2669 case CHECK_ALL_WINDOWS:
2670 if (! NILP (w->buffer) 2670 if (! NILP (w->buffer)
2671 && NILP (BVAR (XBUFFER (w->buffer), name))) 2671 && NILP (BVAR (XBUFFER (w->buffer), name)))
2672 abort (); 2672 emacs_abort ();
2673 break; 2673 break;
2674 2674
2675 case WINDOW_LOOP_UNUSED: 2675 case WINDOW_LOOP_UNUSED:
diff --git a/src/xdisp.c b/src/xdisp.c
index 86f041dea4d..f543a96d6b3 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -7306,7 +7306,7 @@ set_iterator_to_next (struct it *it, int reseat_p)
7306 7306
7307 default: 7307 default:
7308 /* There are no other methods defined, so this should be a bug. */ 7308 /* There are no other methods defined, so this should be a bug. */
7309 abort (); 7309 emacs_abort ();
7310 } 7310 }
7311 7311
7312 eassert (it->method != GET_FROM_STRING 7312 eassert (it->method != GET_FROM_STRING
@@ -7761,7 +7761,7 @@ compute_stop_pos_backwards (struct it *it)
7761 compute_stop_pos (it); 7761 compute_stop_pos (it);
7762 /* We must advance forward, right? */ 7762 /* We must advance forward, right? */
7763 if (it->stop_charpos <= charpos) 7763 if (it->stop_charpos <= charpos)
7764 abort (); 7764 emacs_abort ();
7765 } 7765 }
7766 while (charpos > BEGV && it->stop_charpos >= it->end_charpos); 7766 while (charpos > BEGV && it->stop_charpos >= it->end_charpos);
7767 7767
@@ -7810,7 +7810,7 @@ handle_stop_backwards (struct it *it, ptrdiff_t charpos)
7810 compute_stop_pos (it); 7810 compute_stop_pos (it);
7811 /* We must advance forward, right? */ 7811 /* We must advance forward, right? */
7812 if (it->stop_charpos <= it->prev_stop) 7812 if (it->stop_charpos <= it->prev_stop)
7813 abort (); 7813 emacs_abort ();
7814 charpos = it->stop_charpos; 7814 charpos = it->stop_charpos;
7815 } 7815 }
7816 while (charpos <= where_we_are); 7816 while (charpos <= where_we_are);
@@ -8898,7 +8898,7 @@ move_it_to (struct it *it, ptrdiff_t to_charpos, int to_x, int to_y, int to_vpos
8898 break; 8898 break;
8899 8899
8900 default: 8900 default:
8901 abort (); 8901 emacs_abort ();
8902 } 8902 }
8903 8903
8904 /* Reset/increment for the next run. */ 8904 /* Reset/increment for the next run. */
@@ -10532,7 +10532,7 @@ void
10532check_message_stack (void) 10532check_message_stack (void)
10533{ 10533{
10534 if (!NILP (Vmessage_stack)) 10534 if (!NILP (Vmessage_stack))
10535 abort (); 10535 emacs_abort ();
10536} 10536}
10537 10537
10538 10538
@@ -14415,7 +14415,7 @@ set_cursor_from_row (struct window *w, struct glyph_row *row,
14415 for (g = row->glyphs[TEXT_AREA], x = row->x; g < glyph; g++) 14415 for (g = row->glyphs[TEXT_AREA], x = row->x; g < glyph; g++)
14416 { 14416 {
14417 if (g >= row->glyphs[TEXT_AREA] + row->used[TEXT_AREA]) 14417 if (g >= row->glyphs[TEXT_AREA] + row->used[TEXT_AREA])
14418 abort (); 14418 emacs_abort ();
14419 x += g->pixel_width; 14419 x += g->pixel_width;
14420 } 14420 }
14421 } 14421 }
@@ -14536,7 +14536,7 @@ run_window_scroll_functions (Lisp_Object window, struct text_pos startp)
14536 SET_MARKER_FROM_TEXT_POS (w->start, startp); 14536 SET_MARKER_FROM_TEXT_POS (w->start, startp);
14537 14537
14538 if (current_buffer != XBUFFER (w->buffer)) 14538 if (current_buffer != XBUFFER (w->buffer))
14539 abort (); 14539 emacs_abort ();
14540 14540
14541 if (!NILP (Vwindow_scroll_functions)) 14541 if (!NILP (Vwindow_scroll_functions))
14542 { 14542 {
@@ -15505,9 +15505,9 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
15505 /* Some sanity checks. */ 15505 /* Some sanity checks. */
15506 CHECK_WINDOW_END (w); 15506 CHECK_WINDOW_END (w);
15507 if (Z == Z_BYTE && CHARPOS (opoint) != BYTEPOS (opoint)) 15507 if (Z == Z_BYTE && CHARPOS (opoint) != BYTEPOS (opoint))
15508 abort (); 15508 emacs_abort ();
15509 if (BYTEPOS (opoint) < CHARPOS (opoint)) 15509 if (BYTEPOS (opoint) < CHARPOS (opoint))
15510 abort (); 15510 emacs_abort ();
15511 15511
15512 /* If %c is in mode line, update it if needed. */ 15512 /* If %c is in mode line, update it if needed. */
15513 if (!NILP (w->column_number_displayed) 15513 if (!NILP (w->column_number_displayed)
@@ -15719,7 +15719,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
15719 goto try_to_scroll; 15719 goto try_to_scroll;
15720 15720
15721 default: 15721 default:
15722 abort (); 15722 emacs_abort ();
15723 } 15723 }
15724 } 15724 }
15725 /* If current starting point was originally the beginning of a line 15725 /* If current starting point was originally the beginning of a line
@@ -15882,7 +15882,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
15882 break; 15882 break;
15883 15883
15884 default: 15884 default:
15885 abort (); 15885 emacs_abort ();
15886 } 15886 }
15887 } 15887 }
15888 15888
@@ -17330,7 +17330,7 @@ try_window_id (struct window *w)
17330 if (row) 17330 if (row)
17331 set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0); 17331 set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0);
17332 else 17332 else
17333 abort (); 17333 emacs_abort ();
17334 return 1; 17334 return 1;
17335 } 17335 }
17336 } 17336 }
@@ -17374,7 +17374,7 @@ try_window_id (struct window *w)
17374 if (row) 17374 if (row)
17375 set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0); 17375 set_cursor_from_row (w, row, current_matrix, 0, 0, 0, 0);
17376 else 17376 else
17377 abort (); 17377 emacs_abort ();
17378 return 2; 17378 return 2;
17379 } 17379 }
17380 } 17380 }
@@ -17863,7 +17863,7 @@ try_window_id (struct window *w)
17863 IF_DEBUG (debug_method_add (w, "C")); 17863 IF_DEBUG (debug_method_add (w, "C"));
17864 } 17864 }
17865 else 17865 else
17866 abort (); 17866 emacs_abort ();
17867 17867
17868 IF_DEBUG (debug_end_pos = XFASTINT (w->window_end_pos); 17868 IF_DEBUG (debug_end_pos = XFASTINT (w->window_end_pos);
17869 debug_end_vpos = XFASTINT (w->window_end_vpos)); 17869 debug_end_vpos = XFASTINT (w->window_end_vpos));
@@ -19240,7 +19240,7 @@ find_row_edges (struct it *it, struct glyph_row *row,
19240 /* A line that is entirely from a string/image/stretch... */ 19240 /* A line that is entirely from a string/image/stretch... */
19241 row->maxpos = row->minpos; 19241 row->maxpos = row->minpos;
19242 else 19242 else
19243 abort (); 19243 emacs_abort ();
19244 } 19244 }
19245 else 19245 else
19246 row->maxpos = it->current.pos; 19246 row->maxpos = it->current.pos;
@@ -20081,7 +20081,7 @@ See also `bidi-paragraph-direction'. */)
20081 return Qright_to_left; 20081 return Qright_to_left;
20082 break; 20082 break;
20083 default: 20083 default:
20084 abort (); 20084 emacs_abort ();
20085 } 20085 }
20086 } 20086 }
20087} 20087}
@@ -21994,7 +21994,7 @@ display_string (const char *string, Lisp_Object lisp_string, Lisp_Object face_st
21994 { 21994 {
21995 /* Glyph is off the left margin of the display area. 21995 /* Glyph is off the left margin of the display area.
21996 Should not happen. */ 21996 Should not happen. */
21997 abort (); 21997 emacs_abort ();
21998 } 21998 }
21999 21999
22000 row->ascent = max (row->ascent, it->max_ascent); 22000 row->ascent = max (row->ascent, it->max_ascent);
@@ -23359,7 +23359,7 @@ compute_overhangs_and_x (struct glyph_string *s, int x, int backward_p)
23359 break; \ 23359 break; \
23360 \ 23360 \
23361 default: \ 23361 default: \
23362 abort (); \ 23362 emacs_abort (); \
23363 } \ 23363 } \
23364 \ 23364 \
23365 if (s) \ 23365 if (s) \
@@ -23700,7 +23700,7 @@ append_glyph (struct it *it)
23700 { 23700 {
23701 glyph->resolved_level = it->bidi_it.resolved_level; 23701 glyph->resolved_level = it->bidi_it.resolved_level;
23702 if ((it->bidi_it.type & 7) != it->bidi_it.type) 23702 if ((it->bidi_it.type & 7) != it->bidi_it.type)
23703 abort (); 23703 emacs_abort ();
23704 glyph->bidi_type = it->bidi_it.type; 23704 glyph->bidi_type = it->bidi_it.type;
23705 } 23705 }
23706 else 23706 else
@@ -23774,7 +23774,7 @@ append_composite_glyph (struct it *it)
23774 { 23774 {
23775 glyph->resolved_level = it->bidi_it.resolved_level; 23775 glyph->resolved_level = it->bidi_it.resolved_level;
23776 if ((it->bidi_it.type & 7) != it->bidi_it.type) 23776 if ((it->bidi_it.type & 7) != it->bidi_it.type)
23777 abort (); 23777 emacs_abort ();
23778 glyph->bidi_type = it->bidi_it.type; 23778 glyph->bidi_type = it->bidi_it.type;
23779 } 23779 }
23780 ++it->glyph_row->used[area]; 23780 ++it->glyph_row->used[area];
@@ -23953,7 +23953,7 @@ produce_image_glyph (struct it *it)
23953 { 23953 {
23954 glyph->resolved_level = it->bidi_it.resolved_level; 23954 glyph->resolved_level = it->bidi_it.resolved_level;
23955 if ((it->bidi_it.type & 7) != it->bidi_it.type) 23955 if ((it->bidi_it.type & 7) != it->bidi_it.type)
23956 abort (); 23956 emacs_abort ();
23957 glyph->bidi_type = it->bidi_it.type; 23957 glyph->bidi_type = it->bidi_it.type;
23958 } 23958 }
23959 ++it->glyph_row->used[area]; 23959 ++it->glyph_row->used[area];
@@ -24014,7 +24014,7 @@ append_stretch_glyph (struct it *it, Lisp_Object object,
24014 { 24014 {
24015 glyph->resolved_level = it->bidi_it.resolved_level; 24015 glyph->resolved_level = it->bidi_it.resolved_level;
24016 if ((it->bidi_it.type & 7) != it->bidi_it.type) 24016 if ((it->bidi_it.type & 7) != it->bidi_it.type)
24017 abort (); 24017 emacs_abort ();
24018 glyph->bidi_type = it->bidi_it.type; 24018 glyph->bidi_type = it->bidi_it.type;
24019 } 24019 }
24020 else 24020 else
@@ -24269,7 +24269,7 @@ produce_special_glyphs (struct it *it, enum display_element_type what)
24269 } 24269 }
24270 } 24270 }
24271 else 24271 else
24272 abort (); 24272 emacs_abort ();
24273 24273
24274#ifdef HAVE_WINDOW_SYSTEM 24274#ifdef HAVE_WINDOW_SYSTEM
24275 /* On a GUI frame, when the right fringe (left fringe for R2L rows) 24275 /* On a GUI frame, when the right fringe (left fringe for R2L rows)
@@ -24466,7 +24466,7 @@ append_glyphless_glyph (struct it *it, int face_id, int for_no_font, int len,
24466 { 24466 {
24467 glyph->resolved_level = it->bidi_it.resolved_level; 24467 glyph->resolved_level = it->bidi_it.resolved_level;
24468 if ((it->bidi_it.type & 7) != it->bidi_it.type) 24468 if ((it->bidi_it.type & 7) != it->bidi_it.type)
24469 abort (); 24469 emacs_abort ();
24470 glyph->bidi_type = it->bidi_it.type; 24470 glyph->bidi_type = it->bidi_it.type;
24471 } 24471 }
24472 ++it->glyph_row->used[area]; 24472 ++it->glyph_row->used[area];
diff --git a/src/xfaces.c b/src/xfaces.c
index 4df5caf6f2a..aee5158036f 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -510,7 +510,7 @@ unregister_color (unsigned long pixel)
510 if (color_count[pixel] > 0) 510 if (color_count[pixel] > 0)
511 --color_count[pixel]; 511 --color_count[pixel];
512 else 512 else
513 abort (); 513 emacs_abort ();
514} 514}
515 515
516 516
@@ -727,7 +727,7 @@ init_frame_faces (struct frame *f)
727 if (!FRAME_NS_P (f) || FRAME_NS_WINDOW (f)) 727 if (!FRAME_NS_P (f) || FRAME_NS_WINDOW (f))
728#endif 728#endif
729 if (!realize_basic_faces (f)) 729 if (!realize_basic_faces (f))
730 abort (); 730 emacs_abort ();
731} 731}
732 732
733 733
@@ -771,7 +771,7 @@ recompute_basic_faces (struct frame *f)
771 { 771 {
772 clear_face_cache (0); 772 clear_face_cache (0);
773 if (!realize_basic_faces (f)) 773 if (!realize_basic_faces (f))
774 abort (); 774 emacs_abort ();
775 } 775 }
776} 776}
777 777
@@ -1108,7 +1108,7 @@ defined_color (struct frame *f, const char *color_name, XColor *color_def,
1108 return ns_defined_color (f, color_name, color_def, alloc, 1); 1108 return ns_defined_color (f, color_name, color_def, alloc, 1);
1109#endif 1109#endif
1110 else 1110 else
1111 abort (); 1111 emacs_abort ();
1112} 1112}
1113 1113
1114 1114
@@ -1304,7 +1304,7 @@ load_color (struct frame *f, struct face *face, Lisp_Object name,
1304 break; 1304 break;
1305 1305
1306 default: 1306 default:
1307 abort (); 1307 emacs_abort ();
1308 } 1308 }
1309 } 1309 }
1310#ifdef GLYPH_DEBUG 1310#ifdef GLYPH_DEBUG
@@ -4548,7 +4548,7 @@ lookup_named_face (struct frame *f, Lisp_Object symbol, int signal_p)
4548 return -1; 4548 return -1;
4549 default_face = FACE_FROM_ID (f, DEFAULT_FACE_ID); 4549 default_face = FACE_FROM_ID (f, DEFAULT_FACE_ID);
4550 if (default_face == NULL) 4550 if (default_face == NULL)
4551 abort (); /* realize_basic_faces must have set it up */ 4551 emacs_abort (); /* realize_basic_faces must have set it up */
4552 } 4552 }
4553 4553
4554 if (! get_lface_attributes (f, symbol, symbol_attrs, signal_p, 0)) 4554 if (! get_lface_attributes (f, symbol, symbol_attrs, signal_p, 0))
@@ -4591,7 +4591,7 @@ lookup_basic_face (struct frame *f, int face_id)
4591 case MENU_FACE_ID: name = Qmenu; break; 4591 case MENU_FACE_ID: name = Qmenu; break;
4592 4592
4593 default: 4593 default:
4594 abort (); /* the caller is supposed to pass us a basic face id */ 4594 emacs_abort (); /* the caller is supposed to pass us a basic face id */
4595 } 4595 }
4596 4596
4597 /* Do a quick scan through Vface_remapping_alist, and return immediately 4597 /* Do a quick scan through Vface_remapping_alist, and return immediately
@@ -4712,7 +4712,7 @@ lookup_derived_face (struct frame *f, Lisp_Object symbol, int face_id,
4712 struct face *default_face = FACE_FROM_ID (f, face_id); 4712 struct face *default_face = FACE_FROM_ID (f, face_id);
4713 4713
4714 if (!default_face) 4714 if (!default_face)
4715 abort (); 4715 emacs_abort ();
4716 4716
4717 if (!get_lface_attributes (f, symbol, symbol_attrs, signal_p, 0)) 4717 if (!get_lface_attributes (f, symbol, symbol_attrs, signal_p, 0))
4718 return -1; 4718 return -1;
@@ -5102,7 +5102,7 @@ face for italic. */)
5102 error ("Cannot realize default face"); 5102 error ("Cannot realize default face");
5103 def_face = FACE_FROM_ID (f, DEFAULT_FACE_ID); 5103 def_face = FACE_FROM_ID (f, DEFAULT_FACE_ID);
5104 if (def_face == NULL) 5104 if (def_face == NULL)
5105 abort (); /* realize_basic_faces must have set it up */ 5105 emacs_abort (); /* realize_basic_faces must have set it up */
5106 } 5106 }
5107 5107
5108 /* Dispatch to the appropriate handler. */ 5108 /* Dispatch to the appropriate handler. */
@@ -5387,7 +5387,7 @@ realize_default_face (struct frame *f)
5387 else if (FRAME_INITIAL_P (f) || FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f)) 5387 else if (FRAME_INITIAL_P (f) || FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f))
5388 ASET (lface, LFACE_FOREGROUND_INDEX, build_string (unspecified_fg)); 5388 ASET (lface, LFACE_FOREGROUND_INDEX, build_string (unspecified_fg));
5389 else 5389 else
5390 abort (); 5390 emacs_abort ();
5391 } 5391 }
5392 5392
5393 if (UNSPECIFIEDP (LFACE_BACKGROUND (lface))) 5393 if (UNSPECIFIEDP (LFACE_BACKGROUND (lface)))
@@ -5402,7 +5402,7 @@ realize_default_face (struct frame *f)
5402 else if (FRAME_INITIAL_P (f) || FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f)) 5402 else if (FRAME_INITIAL_P (f) || FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f))
5403 ASET (lface, LFACE_BACKGROUND_INDEX, build_string (unspecified_bg)); 5403 ASET (lface, LFACE_BACKGROUND_INDEX, build_string (unspecified_bg));
5404 else 5404 else
5405 abort (); 5405 emacs_abort ();
5406 } 5406 }
5407 5407
5408 if (UNSPECIFIEDP (LFACE_STIPPLE (lface))) 5408 if (UNSPECIFIEDP (LFACE_STIPPLE (lface)))
@@ -5502,7 +5502,7 @@ realize_face (struct face_cache *cache, Lisp_Object *attrs, int former_face_id)
5502 face = make_realized_face (attrs); 5502 face = make_realized_face (attrs);
5503 } 5503 }
5504 else 5504 else
5505 abort (); 5505 emacs_abort ();
5506 5506
5507 /* Insert the new face. */ 5507 /* Insert the new face. */
5508 cache_face (cache, face, lface_hash (attrs)); 5508 cache_face (cache, face, lface_hash (attrs));
@@ -5597,7 +5597,7 @@ realize_x_face (struct face_cache *cache, Lisp_Object *attrs)
5597 if (default_face) 5597 if (default_face)
5598 fontset = default_face->fontset; 5598 fontset = default_face->fontset;
5599 if (fontset == -1) 5599 if (fontset == -1)
5600 abort (); 5600 emacs_abort ();
5601 } 5601 }
5602 if (! FONT_OBJECT_P (attrs[LFACE_FONT_INDEX])) 5602 if (! FONT_OBJECT_P (attrs[LFACE_FONT_INDEX]))
5603 attrs[LFACE_FONT_INDEX] 5603 attrs[LFACE_FONT_INDEX]
diff --git a/src/xmenu.c b/src/xmenu.c
index 54a7849218a..6f92da1b814 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -169,7 +169,7 @@ mouse_position_for_popup (FRAME_PTR f, int *x, int *y)
169 int dummy; 169 int dummy;
170 170
171 if (! FRAME_X_P (f)) 171 if (! FRAME_X_P (f))
172 abort (); 172 emacs_abort ();
173 173
174 BLOCK_INPUT; 174 BLOCK_INPUT;
175 175
@@ -636,7 +636,7 @@ void
636x_activate_menubar (FRAME_PTR f) 636x_activate_menubar (FRAME_PTR f)
637{ 637{
638 if (! FRAME_X_P (f)) 638 if (! FRAME_X_P (f))
639 abort (); 639 emacs_abort ();
640 640
641 if (!f->output_data.x->saved_menu_event->type) 641 if (!f->output_data.x->saved_menu_event->type)
642 return; 642 return;
@@ -852,7 +852,7 @@ update_frame_menubar (FRAME_PTR f)
852 int columns, rows; 852 int columns, rows;
853 853
854 if (! FRAME_X_P (f)) 854 if (! FRAME_X_P (f))
855 abort (); 855 emacs_abort ();
856 856
857 x = f->output_data.x; 857 x = f->output_data.x;
858 858
@@ -940,7 +940,7 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
940 int *submenu_top_level_items, *submenu_n_panes; 940 int *submenu_top_level_items, *submenu_n_panes;
941 941
942 if (! FRAME_X_P (f)) 942 if (! FRAME_X_P (f))
943 abort (); 943 emacs_abort ();
944 944
945 menubar_widget = f->output_data.x->menubar_widget; 945 menubar_widget = f->output_data.x->menubar_widget;
946 946
@@ -1299,7 +1299,7 @@ free_frame_menubar (FRAME_PTR f)
1299 Widget menubar_widget; 1299 Widget menubar_widget;
1300 1300
1301 if (! FRAME_X_P (f)) 1301 if (! FRAME_X_P (f))
1302 abort (); 1302 emacs_abort ();
1303 1303
1304 menubar_widget = f->output_data.x->menubar_widget; 1304 menubar_widget = f->output_data.x->menubar_widget;
1305 1305
@@ -1450,7 +1450,7 @@ create_and_show_popup_menu (FRAME_PTR f, widget_value *first_wv, int x, int y,
1450#endif 1450#endif
1451 1451
1452 if (! FRAME_X_P (f)) 1452 if (! FRAME_X_P (f))
1453 abort (); 1453 emacs_abort ();
1454 1454
1455 xg_crazy_callback_abort = 1; 1455 xg_crazy_callback_abort = 1;
1456 menu = xg_create_widget ("popup", first_wv->name, f, first_wv, 1456 menu = xg_create_widget ("popup", first_wv->name, f, first_wv,
@@ -1557,7 +1557,7 @@ create_and_show_popup_menu (FRAME_PTR f, widget_value *first_wv,
1557 Widget menu; 1557 Widget menu;
1558 1558
1559 if (! FRAME_X_P (f)) 1559 if (! FRAME_X_P (f))
1560 abort (); 1560 emacs_abort ();
1561 1561
1562#ifdef USE_LUCID 1562#ifdef USE_LUCID
1563 apply_systemfont_to_menu (f, f->output_data.x->widget); 1563 apply_systemfont_to_menu (f, f->output_data.x->widget);
@@ -1646,7 +1646,7 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
1646 ptrdiff_t specpdl_count = SPECPDL_INDEX (); 1646 ptrdiff_t specpdl_count = SPECPDL_INDEX ();
1647 1647
1648 if (! FRAME_X_P (f)) 1648 if (! FRAME_X_P (f))
1649 abort (); 1649 emacs_abort ();
1650 1650
1651 *error_name = NULL; 1651 *error_name = NULL;
1652 1652
@@ -1792,7 +1792,7 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
1792 else if (EQ (type, QCradio)) 1792 else if (EQ (type, QCradio))
1793 wv->button_type = BUTTON_TYPE_RADIO; 1793 wv->button_type = BUTTON_TYPE_RADIO;
1794 else 1794 else
1795 abort (); 1795 emacs_abort ();
1796 1796
1797 wv->selected = !NILP (selected); 1797 wv->selected = !NILP (selected);
1798 1798
@@ -1930,7 +1930,7 @@ create_and_show_dialog (FRAME_PTR f, widget_value *first_wv)
1930 GtkWidget *menu; 1930 GtkWidget *menu;
1931 1931
1932 if (! FRAME_X_P (f)) 1932 if (! FRAME_X_P (f))
1933 abort (); 1933 emacs_abort ();
1934 1934
1935 menu = xg_create_widget ("dialog", first_wv->name, f, first_wv, 1935 menu = xg_create_widget ("dialog", first_wv->name, f, first_wv,
1936 G_CALLBACK (dialog_selection_callback), 1936 G_CALLBACK (dialog_selection_callback),
@@ -1977,7 +1977,7 @@ create_and_show_dialog (FRAME_PTR f, widget_value *first_wv)
1977 LWLIB_ID dialog_id; 1977 LWLIB_ID dialog_id;
1978 1978
1979 if (!FRAME_X_P (f)) 1979 if (!FRAME_X_P (f))
1980 abort (); 1980 emacs_abort ();
1981 1981
1982 dialog_id = widget_id_tick++; 1982 dialog_id = widget_id_tick++;
1983#ifdef USE_LUCID 1983#ifdef USE_LUCID
@@ -2036,7 +2036,7 @@ xdialog_show (FRAME_PTR f,
2036 ptrdiff_t specpdl_count = SPECPDL_INDEX (); 2036 ptrdiff_t specpdl_count = SPECPDL_INDEX ();
2037 2037
2038 if (! FRAME_X_P (f)) 2038 if (! FRAME_X_P (f))
2039 abort (); 2039 emacs_abort ();
2040 2040
2041 *error_name = NULL; 2041 *error_name = NULL;
2042 2042
@@ -2301,7 +2301,7 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
2301 ptrdiff_t specpdl_count = SPECPDL_INDEX (); 2301 ptrdiff_t specpdl_count = SPECPDL_INDEX ();
2302 2302
2303 if (! FRAME_X_P (f) && ! FRAME_MSDOS_P (f)) 2303 if (! FRAME_X_P (f) && ! FRAME_MSDOS_P (f))
2304 abort (); 2304 emacs_abort ();
2305 2305
2306 *error_name = 0; 2306 *error_name = 0;
2307 if (menu_items_n_panes == 0) 2307 if (menu_items_n_panes == 0)
diff --git a/src/xselect.c b/src/xselect.c
index 463bd6e37b0..5a3b7452c6d 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -193,7 +193,7 @@ static void
193x_start_queuing_selection_requests (void) 193x_start_queuing_selection_requests (void)
194{ 194{
195 if (x_queue_selection_requests) 195 if (x_queue_selection_requests)
196 abort (); 196 emacs_abort ();
197 197
198 x_queue_selection_requests++; 198 x_queue_selection_requests++;
199 TRACE1 ("x_start_queuing_selection_requests %d", x_queue_selection_requests); 199 TRACE1 ("x_start_queuing_selection_requests %d", x_queue_selection_requests);
@@ -245,7 +245,7 @@ symbol_to_x_atom (struct x_display_info *dpyinfo, Lisp_Object sym)
245 if (EQ (sym, QEMACS_TMP)) return dpyinfo->Xatom_EMACS_TMP; 245 if (EQ (sym, QEMACS_TMP)) return dpyinfo->Xatom_EMACS_TMP;
246 if (EQ (sym, QTARGETS)) return dpyinfo->Xatom_TARGETS; 246 if (EQ (sym, QTARGETS)) return dpyinfo->Xatom_TARGETS;
247 if (EQ (sym, QNULL)) return dpyinfo->Xatom_NULL; 247 if (EQ (sym, QNULL)) return dpyinfo->Xatom_NULL;
248 if (!SYMBOLP (sym)) abort (); 248 if (!SYMBOLP (sym)) emacs_abort ();
249 249
250 TRACE1 (" XInternAtom %s", SSDATA (SYMBOL_NAME (sym))); 250 TRACE1 (" XInternAtom %s", SSDATA (SYMBOL_NAME (sym)));
251 BLOCK_INPUT; 251 BLOCK_INPUT;
@@ -1138,7 +1138,7 @@ wait_for_property_change (struct prop_location *location)
1138 ptrdiff_t count = SPECPDL_INDEX (); 1138 ptrdiff_t count = SPECPDL_INDEX ();
1139 1139
1140 if (property_change_reply_object) 1140 if (property_change_reply_object)
1141 abort (); 1141 emacs_abort ();
1142 1142
1143 /* Make sure to do unexpect_property_change if we quit or err. */ 1143 /* Make sure to do unexpect_property_change if we quit or err. */
1144 record_unwind_protect (wait_for_property_change_unwind, 1144 record_unwind_protect (wait_for_property_change_unwind,
diff --git a/src/xterm.c b/src/xterm.c
index f497b5322bf..047b5569bf4 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -1467,7 +1467,7 @@ x_frame_of_widget (Widget widget)
1467 && f->output_data.x->widget == widget) 1467 && f->output_data.x->widget == widget)
1468 return f; 1468 return f;
1469 1469
1470 abort (); 1470 emacs_abort ();
1471} 1471}
1472 1472
1473/* Allocate a color which is lighter or darker than *PIXEL by FACTOR 1473/* Allocate a color which is lighter or darker than *PIXEL by FACTOR
@@ -2696,7 +2696,7 @@ x_draw_underwave (struct glyph_string *s)
2696 y2 += dy; 2696 y2 += dy;
2697 2697
2698 if (INT_MAX - dx < xmax) 2698 if (INT_MAX - dx < xmax)
2699 abort (); 2699 emacs_abort ();
2700 2700
2701 while (x1 <= xmax) 2701 while (x1 <= xmax)
2702 { 2702 {
@@ -2805,7 +2805,7 @@ x_draw_glyph_string (struct glyph_string *s)
2805 break; 2805 break;
2806 2806
2807 default: 2807 default:
2808 abort (); 2808 emacs_abort ();
2809 } 2809 }
2810 2810
2811 if (!s->for_overlaps) 2811 if (!s->for_overlaps)
@@ -3005,7 +3005,7 @@ x_shift_glyphs_for_insert (struct frame *f, int x, int y, int width, int height,
3005static void 3005static void
3006x_delete_glyphs (struct frame *f, register int n) 3006x_delete_glyphs (struct frame *f, register int n)
3007{ 3007{
3008 abort (); 3008 emacs_abort ();
3009} 3009}
3010 3010
3011 3011
@@ -3278,7 +3278,7 @@ XTset_terminal_window (struct frame *f, int n)
3278static void 3278static void
3279x_ins_del_lines (struct frame *f, int vpos, int n) 3279x_ins_del_lines (struct frame *f, int vpos, int n)
3280{ 3280{
3281 abort (); 3281 emacs_abort ();
3282} 3282}
3283 3283
3284 3284
@@ -4115,7 +4115,7 @@ x_window_to_scroll_bar (Display *display, Window window_id)
4115 frame = XCAR (tail); 4115 frame = XCAR (tail);
4116 /* All elements of Vframe_list should be frames. */ 4116 /* All elements of Vframe_list should be frames. */
4117 if (! FRAMEP (frame)) 4117 if (! FRAMEP (frame))
4118 abort (); 4118 emacs_abort ();
4119 4119
4120 if (! FRAME_X_P (XFRAME (frame))) 4120 if (! FRAME_X_P (XFRAME (frame)))
4121 continue; 4121 continue;
@@ -5434,7 +5434,7 @@ XTredeem_scroll_bar (struct window *window)
5434 5434
5435 /* We can't redeem this window's scroll bar if it doesn't have one. */ 5435 /* We can't redeem this window's scroll bar if it doesn't have one. */
5436 if (NILP (window->vertical_scroll_bar)) 5436 if (NILP (window->vertical_scroll_bar))
5437 abort (); 5437 emacs_abort ();
5438 5438
5439 bar = XSCROLL_BAR (window->vertical_scroll_bar); 5439 bar = XSCROLL_BAR (window->vertical_scroll_bar);
5440 5440
@@ -5453,7 +5453,7 @@ XTredeem_scroll_bar (struct window *window)
5453 else 5453 else
5454 /* If its prev pointer is nil, it must be at the front of 5454 /* If its prev pointer is nil, it must be at the front of
5455 one or the other! */ 5455 one or the other! */
5456 abort (); 5456 emacs_abort ();
5457 } 5457 }
5458 else 5458 else
5459 XSCROLL_BAR (bar->prev)->next = bar->next; 5459 XSCROLL_BAR (bar->prev)->next = bar->next;
@@ -5551,7 +5551,7 @@ static void
5551x_scroll_bar_handle_click (struct scroll_bar *bar, XEvent *event, struct input_event *emacs_event) 5551x_scroll_bar_handle_click (struct scroll_bar *bar, XEvent *event, struct input_event *emacs_event)
5552{ 5552{
5553 if (! WINDOWP (bar->window)) 5553 if (! WINDOWP (bar->window))
5554 abort (); 5554 emacs_abort ();
5555 5555
5556 emacs_event->kind = SCROLL_BAR_CLICK_EVENT; 5556 emacs_event->kind = SCROLL_BAR_CLICK_EVENT;
5557 emacs_event->code = event->xbutton.button - Button1; 5557 emacs_event->code = event->xbutton.button - Button1;
@@ -6457,7 +6457,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr,
6457 } 6457 }
6458 else if (status_return != XLookupKeySym 6458 else if (status_return != XLookupKeySym
6459 && status_return != XLookupBoth) 6459 && status_return != XLookupBoth)
6460 abort (); 6460 emacs_abort ();
6461 } 6461 }
6462 else 6462 else
6463 nbytes = XLookupString (&event.xkey, (char *) copy_bufptr, 6463 nbytes = XLookupString (&event.xkey, (char *) copy_bufptr,
@@ -7496,7 +7496,7 @@ x_draw_window_cursor (struct window *w, struct glyph_row *glyph_row, int x, int
7496 break; 7496 break;
7497 7497
7498 default: 7498 default:
7499 abort (); 7499 emacs_abort ();
7500 } 7500 }
7501 } 7501 }
7502 7502
@@ -7849,7 +7849,7 @@ When compiled with GTK, Emacs cannot recover from X disconnects.\n\
7849This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715\n\ 7849This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715\n\
7850For details, see etc/PROBLEMS.\n", 7850For details, see etc/PROBLEMS.\n",
7851 error_msg); 7851 error_msg);
7852 abort (); 7852 emacs_abort ();
7853#endif /* USE_GTK */ 7853#endif /* USE_GTK */
7854 7854
7855 /* Indicate that this display is dead. */ 7855 /* Indicate that this display is dead. */
@@ -7859,7 +7859,7 @@ For details, see etc/PROBLEMS.\n",
7859 dpyinfo->terminal->reference_count--; 7859 dpyinfo->terminal->reference_count--;
7860 if (dpyinfo->reference_count != 0) 7860 if (dpyinfo->reference_count != 0)
7861 /* We have just closed all frames on this display. */ 7861 /* We have just closed all frames on this display. */
7862 abort (); 7862 emacs_abort ();
7863 7863
7864 { 7864 {
7865 Lisp_Object tmp; 7865 Lisp_Object tmp;
@@ -10436,7 +10436,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
10436 to.addr = (XPointer)&font; 10436 to.addr = (XPointer)&font;
10437 x_catch_errors (dpy); 10437 x_catch_errors (dpy);
10438 if (!XtCallConverter (dpy, XtCvtStringToFont, &d, 1, &fr, &to, NULL)) 10438 if (!XtCallConverter (dpy, XtCvtStringToFont, &d, 1, &fr, &to, NULL))
10439 abort (); 10439 emacs_abort ();
10440 if (x_had_errors_p (dpy) || !XQueryFont (dpy, font)) 10440 if (x_had_errors_p (dpy) || !XQueryFont (dpy, font))
10441 XrmPutLineResource (&xrdb, "Emacs.dialog.*.font: 9x15"); 10441 XrmPutLineResource (&xrdb, "Emacs.dialog.*.font: 9x15");
10442 x_uncatch_errors (); 10442 x_uncatch_errors ();