diff options
| author | Eli Zaretskii | 2012-09-15 11:03:11 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2012-09-15 11:03:11 +0300 |
| commit | 7105c8cbf3a3226701e4d2ecb0b9c2d207648a98 (patch) | |
| tree | ea1d91884504460ebb6ac7cad3efabdc41d956e5 /src | |
| parent | 0328b6de4a92676b4ad4616095ce19a4f51d1c4d (diff) | |
| download | emacs-7105c8cbf3a3226701e4d2ecb0b9c2d207648a98.tar.gz emacs-7105c8cbf3a3226701e4d2ecb0b9c2d207648a98.zip | |
Fix MS-Windows build broken by 2012-09-15T07:06:56Z!eggert@cs.ucla.edu, completing fix for bug #12446.
src/w32xfns.c:
src/w32uniscribe.c:
src/w32term.c:
src/w32select.c:
src/w32reg.c:
src/w32proc.c:
src/w32menu.c:
src/w32inevt.c:
src/w32heap.c:
src/w32font.c:
src/w32fns.c:
src/w32console.c:
src/w32.c:
src/w16select.c: Remove inclusion of setjmp.h, as it is now included
by lisp.h. This completes removal of setjmp.h inclusion
erroneously announced in the previous commit.
src/lisp.h [!HAVE__SETJMP, !HAVE_SIGSETJMP]: Make the commentary
more accurate.
src/image.c (_setjmp) [!HAVE__SETJMP]: Define only if 'setjmp' is
not defined as a macro. The latter happens on MS-Windows.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 28 | ||||
| -rw-r--r-- | src/image.c | 8 | ||||
| -rw-r--r-- | src/lisp.h | 3 | ||||
| -rw-r--r-- | src/w16select.c | 1 | ||||
| -rw-r--r-- | src/w32.c | 1 | ||||
| -rw-r--r-- | src/w32console.c | 1 | ||||
| -rw-r--r-- | src/w32fns.c | 1 | ||||
| -rw-r--r-- | src/w32font.c | 1 | ||||
| -rw-r--r-- | src/w32heap.c | 1 | ||||
| -rw-r--r-- | src/w32inevt.c | 1 | ||||
| -rw-r--r-- | src/w32menu.c | 1 | ||||
| -rw-r--r-- | src/w32proc.c | 1 | ||||
| -rw-r--r-- | src/w32reg.c | 1 | ||||
| -rw-r--r-- | src/w32select.c | 1 | ||||
| -rw-r--r-- | src/w32term.c | 1 | ||||
| -rw-r--r-- | src/w32uniscribe.c | 1 | ||||
| -rw-r--r-- | src/w32xfns.c | 1 |
17 files changed, 35 insertions, 18 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index fb59e9e24dc..f9d31b08abd 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,8 +1,34 @@ | |||
| 1 | 2012-09-15 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * w32xfns.c: | ||
| 4 | * w32uniscribe.c: | ||
| 5 | * w32term.c: | ||
| 6 | * w32select.c: | ||
| 7 | * w32reg.c: | ||
| 8 | * w32proc.c: | ||
| 9 | * w32menu.c: | ||
| 10 | * w32inevt.c: | ||
| 11 | * w32heap.c: | ||
| 12 | * w32font.c: | ||
| 13 | * w32fns.c: | ||
| 14 | * w32console.c: | ||
| 15 | * w32.c: | ||
| 16 | * w16select.c: Remove inclusion of setjmp.h, as it is now included | ||
| 17 | by lisp.h. This completes removal of setjmp.h inclusion | ||
| 18 | erroneously announced in the previous commit. (Bug#12446) | ||
| 19 | |||
| 20 | * lisp.h [!HAVE__SETJMP, !HAVE_SIGSETJMP]: Make the commentary | ||
| 21 | more accurate. | ||
| 22 | |||
| 23 | * image.c (_setjmp) [!HAVE__SETJMP]: Define only if 'setjmp' is | ||
| 24 | not defined as a macro. The latter happens on MS-Windows. | ||
| 25 | (Bug#12446) | ||
| 26 | |||
| 1 | 2012-09-15 Paul Eggert <eggert@cs.ucla.edu> | 27 | 2012-09-15 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 28 | ||
| 3 | Port better to POSIX hosts lacking _setjmp (Bug#12446). | 29 | Port better to POSIX hosts lacking _setjmp (Bug#12446). |
| 4 | * lisp.h: Include <setjmp.h> here, since we use its symbols here. | 30 | * lisp.h: Include <setjmp.h> here, since we use its symbols here. |
| 5 | All instances of '#include <setjmp.h>' removed, if the | 31 | Some instances of '#include <setjmp.h>' removed, if the |
| 6 | only reason for the instance was because "lisp.h" was included. | 32 | only reason for the instance was because "lisp.h" was included. |
| 7 | (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols. | 33 | (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols. |
| 8 | Unless otherwise specified, replace all uses of jmp_buf, _setjmp, | 34 | Unless otherwise specified, replace all uses of jmp_buf, _setjmp, |
diff --git a/src/image.c b/src/image.c index 6803dbe8f00..02151c500cc 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -5516,9 +5516,13 @@ init_png_functions (Lisp_Object libraries) | |||
| 5516 | 5516 | ||
| 5517 | /* Possibly inefficient/inexact substitutes for _setjmp and _longjmp. | 5517 | /* Possibly inefficient/inexact substitutes for _setjmp and _longjmp. |
| 5518 | Do not use sys_setjmp, as PNG supports only jmp_buf. The _longjmp | 5518 | Do not use sys_setjmp, as PNG supports only jmp_buf. The _longjmp |
| 5519 | substitute may munge the signal mask, but that should be OK here. */ | 5519 | substitute may munge the signal mask, but that should be OK here. |
| 5520 | MinGW (MS-Windows) uses _setjmp and defines setjmp to _setjmp in | ||
| 5521 | the system header setjmp.h; don't mess up that. */ | ||
| 5520 | #ifndef HAVE__SETJMP | 5522 | #ifndef HAVE__SETJMP |
| 5521 | # define _setjmp(j) setjmp (j) | 5523 | # ifndef setjmp |
| 5524 | # define _setjmp(j) setjmp (j) | ||
| 5525 | # endif | ||
| 5522 | # define _longjmp longjmp | 5526 | # define _longjmp longjmp |
| 5523 | #endif | 5527 | #endif |
| 5524 | 5528 | ||
diff --git a/src/lisp.h b/src/lisp.h index 335ed8ba831..447c6bd296b 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -1977,7 +1977,8 @@ typedef sigjmp_buf sys_jmp_buf; | |||
| 1977 | # define sys_setjmp(j) sigsetjmp (j, 0) | 1977 | # define sys_setjmp(j) sigsetjmp (j, 0) |
| 1978 | # define sys_longjmp(j, v) siglongjmp (j, v) | 1978 | # define sys_longjmp(j, v) siglongjmp (j, v) |
| 1979 | #else | 1979 | #else |
| 1980 | /* A non-POSIX platform; assume longjmp does not affect the sigmask. */ | 1980 | /* A platform that uses neither _longjmp nor siglongjmp; assume |
| 1981 | longjmp does not affect the sigmask. */ | ||
| 1981 | typedef jmp_buf sys_jmp_buf; | 1982 | typedef jmp_buf sys_jmp_buf; |
| 1982 | # define sys_setjmp(j) setjmp (j) | 1983 | # define sys_setjmp(j) setjmp (j) |
| 1983 | # define sys_longjmp(j, v) longjmp (j, v) | 1984 | # define sys_longjmp(j, v) longjmp (j, v) |
diff --git a/src/w16select.c b/src/w16select.c index 2026de7421d..a3f6f1fb9ae 100644 --- a/src/w16select.c +++ b/src/w16select.c | |||
| @@ -31,7 +31,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 31 | #include <dpmi.h> | 31 | #include <dpmi.h> |
| 32 | #include <go32.h> | 32 | #include <go32.h> |
| 33 | #include <sys/farptr.h> | 33 | #include <sys/farptr.h> |
| 34 | #include <setjmp.h> | ||
| 35 | #include "lisp.h" | 34 | #include "lisp.h" |
| 36 | #include "dispextern.h" /* frame.h seems to want this */ | 35 | #include "dispextern.h" /* frame.h seems to want this */ |
| 37 | #include "frame.h" /* Need this to get the X window of selected_frame */ | 36 | #include "frame.h" /* Need this to get the X window of selected_frame */ |
| @@ -33,7 +33,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 33 | #include <sys/utime.h> | 33 | #include <sys/utime.h> |
| 34 | #include <mbstring.h> /* for _mbspbrk */ | 34 | #include <mbstring.h> /* for _mbspbrk */ |
| 35 | #include <math.h> | 35 | #include <math.h> |
| 36 | #include <setjmp.h> | ||
| 37 | #include <time.h> | 36 | #include <time.h> |
| 38 | 37 | ||
| 39 | /* must include CRT headers *before* config.h */ | 38 | /* must include CRT headers *before* config.h */ |
diff --git a/src/w32console.c b/src/w32console.c index 76585851e7f..b22b09af2f2 100644 --- a/src/w32console.c +++ b/src/w32console.c | |||
| @@ -26,7 +26,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 26 | 26 | ||
| 27 | #include <stdio.h> | 27 | #include <stdio.h> |
| 28 | #include <windows.h> | 28 | #include <windows.h> |
| 29 | #include <setjmp.h> | ||
| 30 | 29 | ||
| 31 | #include "lisp.h" | 30 | #include "lisp.h" |
| 32 | #include "character.h" | 31 | #include "character.h" |
diff --git a/src/w32fns.c b/src/w32fns.c index ec1acbd89d9..be008bb18c8 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -26,7 +26,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 26 | #include <limits.h> | 26 | #include <limits.h> |
| 27 | #include <errno.h> | 27 | #include <errno.h> |
| 28 | #include <math.h> | 28 | #include <math.h> |
| 29 | #include <setjmp.h> | ||
| 30 | 29 | ||
| 31 | #include "lisp.h" | 30 | #include "lisp.h" |
| 32 | #include "w32term.h" | 31 | #include "w32term.h" |
diff --git a/src/w32font.c b/src/w32font.c index 8b3a0e4312e..833b7cdfb25 100644 --- a/src/w32font.c +++ b/src/w32font.c | |||
| @@ -21,7 +21,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 21 | #include <math.h> | 21 | #include <math.h> |
| 22 | #include <ctype.h> | 22 | #include <ctype.h> |
| 23 | #include <commdlg.h> | 23 | #include <commdlg.h> |
| 24 | #include <setjmp.h> | ||
| 25 | 24 | ||
| 26 | #include "lisp.h" | 25 | #include "lisp.h" |
| 27 | #include "w32term.h" | 26 | #include "w32term.h" |
diff --git a/src/w32heap.c b/src/w32heap.c index 26cc9aa0a0f..dc65198f90b 100644 --- a/src/w32heap.c +++ b/src/w32heap.c | |||
| @@ -22,7 +22,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 22 | 22 | ||
| 23 | #include <config.h> | 23 | #include <config.h> |
| 24 | #include <stdio.h> | 24 | #include <stdio.h> |
| 25 | #include <setjmp.h> | ||
| 26 | 25 | ||
| 27 | #include "w32heap.h" | 26 | #include "w32heap.h" |
| 28 | #include "lisp.h" /* for VALMASK */ | 27 | #include "lisp.h" /* for VALMASK */ |
diff --git a/src/w32inevt.c b/src/w32inevt.c index 731dd6715dc..ee07db5335b 100644 --- a/src/w32inevt.c +++ b/src/w32inevt.c | |||
| @@ -25,7 +25,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 25 | #include <config.h> | 25 | #include <config.h> |
| 26 | #include <stdio.h> | 26 | #include <stdio.h> |
| 27 | #include <windows.h> | 27 | #include <windows.h> |
| 28 | #include <setjmp.h> | ||
| 29 | 28 | ||
| 30 | #ifndef MOUSE_MOVED | 29 | #ifndef MOUSE_MOVED |
| 31 | #define MOUSE_MOVED 1 | 30 | #define MOUSE_MOVED 1 |
diff --git a/src/w32menu.c b/src/w32menu.c index d4de73a0de7..fa7db64f147 100644 --- a/src/w32menu.c +++ b/src/w32menu.c | |||
| @@ -22,7 +22,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 22 | #include <signal.h> | 22 | #include <signal.h> |
| 23 | #include <stdio.h> | 23 | #include <stdio.h> |
| 24 | #include <mbstring.h> | 24 | #include <mbstring.h> |
| 25 | #include <setjmp.h> | ||
| 26 | 25 | ||
| 27 | #include "lisp.h" | 26 | #include "lisp.h" |
| 28 | #include "keyboard.h" | 27 | #include "keyboard.h" |
diff --git a/src/w32proc.c b/src/w32proc.c index 74427e76a4f..26a0925ad87 100644 --- a/src/w32proc.c +++ b/src/w32proc.c | |||
| @@ -28,7 +28,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 28 | #include <fcntl.h> | 28 | #include <fcntl.h> |
| 29 | #include <signal.h> | 29 | #include <signal.h> |
| 30 | #include <sys/file.h> | 30 | #include <sys/file.h> |
| 31 | #include <setjmp.h> | ||
| 32 | 31 | ||
| 33 | /* must include CRT headers *before* config.h */ | 32 | /* must include CRT headers *before* config.h */ |
| 34 | #include <config.h> | 33 | #include <config.h> |
diff --git a/src/w32reg.c b/src/w32reg.c index 9c727ae5ab7..8a6a3c853b1 100644 --- a/src/w32reg.c +++ b/src/w32reg.c | |||
| @@ -19,7 +19,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 19 | /* Written by Kevin Gallo */ | 19 | /* Written by Kevin Gallo */ |
| 20 | 20 | ||
| 21 | #include <config.h> | 21 | #include <config.h> |
| 22 | #include <setjmp.h> | ||
| 23 | #include "lisp.h" | 22 | #include "lisp.h" |
| 24 | #include "w32term.h" | 23 | #include "w32term.h" |
| 25 | #include "blockinput.h" | 24 | #include "blockinput.h" |
diff --git a/src/w32select.c b/src/w32select.c index 3fb88d4f17f..11c68c9c617 100644 --- a/src/w32select.c +++ b/src/w32select.c | |||
| @@ -73,7 +73,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 73 | */ | 73 | */ |
| 74 | 74 | ||
| 75 | #include <config.h> | 75 | #include <config.h> |
| 76 | #include <setjmp.h> | ||
| 77 | #include "lisp.h" | 76 | #include "lisp.h" |
| 78 | #include "w32term.h" /* for all of the w32 includes */ | 77 | #include "w32term.h" /* for all of the w32 includes */ |
| 79 | #include "w32heap.h" /* os_subtype */ | 78 | #include "w32heap.h" /* os_subtype */ |
diff --git a/src/w32term.c b/src/w32term.c index 28c1c593cf6..69a16e1852b 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -20,7 +20,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 20 | #include <config.h> | 20 | #include <config.h> |
| 21 | #include <signal.h> | 21 | #include <signal.h> |
| 22 | #include <stdio.h> | 22 | #include <stdio.h> |
| 23 | #include <setjmp.h> | ||
| 24 | #include "lisp.h" | 23 | #include "lisp.h" |
| 25 | #include "blockinput.h" | 24 | #include "blockinput.h" |
| 26 | #include "w32term.h" | 25 | #include "w32term.h" |
diff --git a/src/w32uniscribe.c b/src/w32uniscribe.c index cf99d14dc77..5d160b9d42f 100644 --- a/src/w32uniscribe.c +++ b/src/w32uniscribe.c | |||
| @@ -27,7 +27,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 27 | #define _WIN32_WINNT 0x500 | 27 | #define _WIN32_WINNT 0x500 |
| 28 | #include <windows.h> | 28 | #include <windows.h> |
| 29 | #include <usp10.h> | 29 | #include <usp10.h> |
| 30 | #include <setjmp.h> | ||
| 31 | 30 | ||
| 32 | #include "lisp.h" | 31 | #include "lisp.h" |
| 33 | #include "w32term.h" | 32 | #include "w32term.h" |
diff --git a/src/w32xfns.c b/src/w32xfns.c index 820dbcc76c6..33f40fc7c01 100644 --- a/src/w32xfns.c +++ b/src/w32xfns.c | |||
| @@ -19,7 +19,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 19 | #include <config.h> | 19 | #include <config.h> |
| 20 | #include <signal.h> | 20 | #include <signal.h> |
| 21 | #include <stdio.h> | 21 | #include <stdio.h> |
| 22 | #include <setjmp.h> | ||
| 23 | #include "lisp.h" | 22 | #include "lisp.h" |
| 24 | #include "keyboard.h" | 23 | #include "keyboard.h" |
| 25 | #include "frame.h" | 24 | #include "frame.h" |