aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2011-08-18 01:41:19 -0700
committerPaul Eggert2011-08-18 01:41:19 -0700
commit2fab8395070ff77b836cb8ca9b84c261c4387a9a (patch)
tree0d3eedd5fd59c2cad0680c6a27789554e4527cd0 /src
parentd31850da41f8dba08684acd2e8addd7127089404 (diff)
parent4dcb0d7a58bff52c1155fd93c03dcab4567038f2 (diff)
downloademacs-2fab8395070ff77b836cb8ca9b84c261c4387a9a.tar.gz
emacs-2fab8395070ff77b836cb8ca9b84c261c4387a9a.zip
Merge from trunk.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog19
-rw-r--r--src/eval.c28
-rw-r--r--src/gmalloc.c6
-rw-r--r--src/lread.c28
4 files changed, 48 insertions, 33 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 2677f03944f..fe8df6ffe41 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,4 +1,4 @@
12011-08-16 Paul Eggert <eggert@cs.ucla.edu> 12011-08-18 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 Integer and memory overflow issues (Bug#9196). 3 Integer and memory overflow issues (Bug#9196).
4 4
@@ -421,6 +421,21 @@
421 (gs_load): Use printmax_t to print the widest integers possible. 421 (gs_load): Use printmax_t to print the widest integers possible.
422 Check for integer overflow when computing image height and width. 422 Check for integer overflow when computing image height and width.
423 423
4242011-08-17 Chong Yidong <cyd@stupidchicken.com>
425
426 * eval.c (internal_condition_case, internal_condition_case_1)
427 (internal_condition_case_2, internal_condition_case_n): Remove
428 unnecessary aborts (Bug#9081).
429
4302011-08-17 Eli Zaretskii <eliz@gnu.org>
431
432 * lread.c (Fload) [DOS_NT]: If `openp' returns -2, but the file
433 has no `load' handler, try opening the file locally. (Bug#9311)
434
4352011-08-16 Ken Brown <kbrown@cornell.edu>
436
437 * gmalloc.c: Expand comment.
438
4242011-08-16 Eli Zaretskii <eliz@gnu.org> 4392011-08-16 Eli Zaretskii <eliz@gnu.org>
425 440
426 * xdisp.c (set_cursor_from_row): Don't accept a previous candidate 441 * xdisp.c (set_cursor_from_row): Don't accept a previous candidate
@@ -475,7 +490,7 @@
4752011-08-14 Kenichi Handa <handa@m17n.org> 4902011-08-14 Kenichi Handa <handa@m17n.org>
476 491
477 * process.c (create_process): Call setup_process_coding_systems 492 * process.c (create_process): Call setup_process_coding_systems
478 after the pid of the process is set to -1. 493 after the pid of the process is set to -1 (Bug#8162).
479 494
4802011-08-14 Eli Zaretskii <eliz@gnu.org> 4952011-08-14 Eli Zaretskii <eliz@gnu.org>
481 496
diff --git a/src/eval.c b/src/eval.c
index 94039b31e17..8149683a104 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1462,13 +1462,6 @@ internal_condition_case (Lisp_Object (*bfun) (void), Lisp_Object handlers,
1462 struct catchtag c; 1462 struct catchtag c;
1463 struct handler h; 1463 struct handler h;
1464 1464
1465 /* Since Fsignal will close off all calls to x_catch_errors,
1466 we will get the wrong results if some are not closed now. */
1467#if HAVE_X_WINDOWS
1468 if (x_catching_errors ())
1469 abort ();
1470#endif
1471
1472 c.tag = Qnil; 1465 c.tag = Qnil;
1473 c.val = Qnil; 1466 c.val = Qnil;
1474 c.backlist = backtrace_list; 1467 c.backlist = backtrace_list;
@@ -1507,13 +1500,6 @@ internal_condition_case_1 (Lisp_Object (*bfun) (Lisp_Object), Lisp_Object arg,
1507 struct catchtag c; 1500 struct catchtag c;
1508 struct handler h; 1501 struct handler h;
1509 1502
1510 /* Since Fsignal will close off all calls to x_catch_errors,
1511 we will get the wrong results if some are not closed now. */
1512#if HAVE_X_WINDOWS
1513 if (x_catching_errors ())
1514 abort ();
1515#endif
1516
1517 c.tag = Qnil; 1503 c.tag = Qnil;
1518 c.val = Qnil; 1504 c.val = Qnil;
1519 c.backlist = backtrace_list; 1505 c.backlist = backtrace_list;
@@ -1556,13 +1542,6 @@ internal_condition_case_2 (Lisp_Object (*bfun) (Lisp_Object, Lisp_Object),
1556 struct catchtag c; 1542 struct catchtag c;
1557 struct handler h; 1543 struct handler h;
1558 1544
1559 /* Since Fsignal will close off all calls to x_catch_errors,
1560 we will get the wrong results if some are not closed now. */
1561#if HAVE_X_WINDOWS
1562 if (x_catching_errors ())
1563 abort ();
1564#endif
1565
1566 c.tag = Qnil; 1545 c.tag = Qnil;
1567 c.val = Qnil; 1546 c.val = Qnil;
1568 c.backlist = backtrace_list; 1547 c.backlist = backtrace_list;
@@ -1605,13 +1584,6 @@ internal_condition_case_n (Lisp_Object (*bfun) (ptrdiff_t, Lisp_Object *),
1605 struct catchtag c; 1584 struct catchtag c;
1606 struct handler h; 1585 struct handler h;
1607 1586
1608 /* Since Fsignal will close off all calls to x_catch_errors,
1609 we will get the wrong results if some are not closed now. */
1610#if HAVE_X_WINDOWS
1611 if (x_catching_errors ())
1612 abort ();
1613#endif
1614
1615 c.tag = Qnil; 1587 c.tag = Qnil;
1616 c.val = Qnil; 1588 c.val = Qnil;
1617 c.backlist = backtrace_list; 1589 c.backlist = backtrace_list;
diff --git a/src/gmalloc.c b/src/gmalloc.c
index 61046ad9d1b..d49259b8ed7 100644
--- a/src/gmalloc.c
+++ b/src/gmalloc.c
@@ -356,7 +356,11 @@ Fifth Floor, Boston, MA 02110-1301, USA.
356 emacs uses the Cygwin heap (managed with sbrk). When emacs starts 356 emacs uses the Cygwin heap (managed with sbrk). When emacs starts
357 on Cygwin, it reinitializes malloc, and we save the old info for 357 on Cygwin, it reinitializes malloc, and we save the old info for
358 use by free and realloc if they're called with a pointer into the 358 use by free and realloc if they're called with a pointer into the
359 static heap. */ 359 static heap.
360
361 Currently (2011-08-16) the Cygwin build doesn't use ralloc.c; if
362 this is changed in the future, we'll have to similarly deal with
363 reinitializing ralloc. */
360#ifdef CYGWIN 364#ifdef CYGWIN
361extern __ptr_t bss_sbrk PP ((ptrdiff_t __size)); 365extern __ptr_t bss_sbrk PP ((ptrdiff_t __size));
362extern int bss_sbrk_did_unexec; 366extern int bss_sbrk_did_unexec;
diff --git a/src/lread.c b/src/lread.c
index f2a52780a0c..d24da729df6 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1124,6 +1124,22 @@ Return t if the file exists and loads successfully. */)
1124 handler = Ffind_file_name_handler (found, Qload); 1124 handler = Ffind_file_name_handler (found, Qload);
1125 if (! NILP (handler)) 1125 if (! NILP (handler))
1126 return call5 (handler, Qload, found, noerror, nomessage, Qt); 1126 return call5 (handler, Qload, found, noerror, nomessage, Qt);
1127#ifdef DOS_NT
1128 /* Tramp has to deal with semi-broken packages that prepend
1129 drive letters to remote files. For that reason, Tramp
1130 catches file operations that test for file existence, which
1131 makes openp think X:/foo.elc files are remote. However,
1132 Tramp does not catch `load' operations for such files, so we
1133 end up with a nil as the `load' handler above. If we would
1134 continue with fd = -2, we will behave wrongly, and in
1135 particular try reading a .elc file in the "rt" mode instead
1136 of "rb". See bug #9311 for the results. To work around
1137 this, we try to open the file locally, and go with that if it
1138 succeeds. */
1139 fd = emacs_open (SSDATA (ENCODE_FILE (found)), O_RDONLY, 0);
1140 if (fd == -1)
1141 fd = -2;
1142#endif
1127 } 1143 }
1128 1144
1129 /* Check if we're stuck in a recursive load cycle. 1145 /* Check if we're stuck in a recursive load cycle.
@@ -1247,9 +1263,17 @@ Return t if the file exists and loads successfully. */)
1247 GCPRO3 (file, found, hist_file_name); 1263 GCPRO3 (file, found, hist_file_name);
1248 1264
1249#ifdef WINDOWSNT 1265#ifdef WINDOWSNT
1250 emacs_close (fd);
1251 efound = ENCODE_FILE (found); 1266 efound = ENCODE_FILE (found);
1252 stream = fopen (SSDATA (efound), fmode); 1267 /* If we somehow got here with fd == -2, meaning the file is deemed
1268 to be remote, don't even try to reopen the file locally; just
1269 force a failure instead. */
1270 if (fd >= 0)
1271 {
1272 emacs_close (fd);
1273 stream = fopen (SSDATA (efound), fmode);
1274 }
1275 else
1276 stream = NULL;
1253#else /* not WINDOWSNT */ 1277#else /* not WINDOWSNT */
1254 stream = fdopen (fd, fmode); 1278 stream = fdopen (fd, fmode);
1255#endif /* not WINDOWSNT */ 1279#endif /* not WINDOWSNT */