diff options
| author | Eli Zaretskii | 2013-08-13 21:01:18 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2013-08-13 21:01:18 +0300 |
| commit | 2fa611b72ba67066496866dd76688e9db5257ac6 (patch) | |
| tree | 74735b63c90f65db1ba2a6f5e67995692382cb7e /src | |
| parent | 8259030d684cc11dcaf548a1aea29d7badf921fe (diff) | |
| download | emacs-2fa611b72ba67066496866dd76688e9db5257ac6.tar.gz emacs-2fa611b72ba67066496866dd76688e9db5257ac6.zip | |
Fix the Windows build broken by 2013-08-13T15:29:25Z!dmantipov@yandex.ru.
src/window.c (Fwindow_margins): Return nil when there's no marginal
area, as per the documented API.
src/w32term.c (x_scroll_bar_create): Use ALLOCATE_PSEUDOVECTOR, not
Fmake_vector, as scroll bar's struct members are not all Lisp
objects now. This avoids crashes in GC.
src/w32term.h (struct scroll_bar): Convert fringe_extended_p to a
bool, so its address could be taken.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 12 | ||||
| -rw-r--r-- | src/w32term.c | 2 | ||||
| -rw-r--r-- | src/w32term.h | 4 | ||||
| -rw-r--r-- | src/window.c | 4 |
4 files changed, 18 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index c60b2c19acf..6d2c5722bdf 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2013-08-13 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * window.c (Fwindow_margins): Return nil when there's no marginal | ||
| 4 | area, as per the documented API. | ||
| 5 | |||
| 6 | * w32term.c (x_scroll_bar_create): Use ALLOCATE_PSEUDOVECTOR, not | ||
| 7 | Fmake_vector, as scroll bar's struct members are not all Lisp | ||
| 8 | objects now. This avoids crashes in GC. | ||
| 9 | |||
| 10 | * w32term.h (struct scroll_bar): Convert fringe_extended_p to a | ||
| 11 | bool, so its address could be taken. | ||
| 12 | |||
| 1 | 2013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org> | 13 | 2013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 2 | 14 | ||
| 3 | * image.c (imagemagick_filename_hint): New function to possibly | 15 | * image.c (imagemagick_filename_hint): New function to possibly |
diff --git a/src/w32term.c b/src/w32term.c index 2b30673c75d..03a9af12ea8 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -3757,7 +3757,7 @@ x_scroll_bar_create (struct window *w, int top, int left, int width, int height) | |||
| 3757 | HWND hwnd; | 3757 | HWND hwnd; |
| 3758 | SCROLLINFO si; | 3758 | SCROLLINFO si; |
| 3759 | struct scroll_bar *bar | 3759 | struct scroll_bar *bar |
| 3760 | = XSCROLL_BAR (Fmake_vector (make_number (VECSIZE (struct scroll_bar)), Qnil)); | 3760 | = ALLOCATE_PSEUDOVECTOR (struct scroll_bar, fringe_extended_p, PVEC_OTHER); |
| 3761 | Lisp_Object barobj; | 3761 | Lisp_Object barobj; |
| 3762 | 3762 | ||
| 3763 | block_input (); | 3763 | block_input (); |
diff --git a/src/w32term.h b/src/w32term.h index 8a1bbd11766..41c5c71832a 100644 --- a/src/w32term.h +++ b/src/w32term.h | |||
| @@ -453,7 +453,9 @@ struct scroll_bar { | |||
| 453 | 453 | ||
| 454 | /* 1 if the background of the fringe that is adjacent to a scroll | 454 | /* 1 if the background of the fringe that is adjacent to a scroll |
| 455 | bar is extended to the gap between the fringe and the bar. */ | 455 | bar is extended to the gap between the fringe and the bar. */ |
| 456 | unsigned fringe_extended_p : 1; | 456 | /* Note: this could be a bit field, but we need to take its address |
| 457 | in ALLOCATE_PSEUDOVECTOR (see x_scroll_bar_create). */ | ||
| 458 | bool fringe_extended_p; | ||
| 457 | }; | 459 | }; |
| 458 | 460 | ||
| 459 | /* Turning a lisp vector value into a pointer to a struct scroll_bar. */ | 461 | /* Turning a lisp vector value into a pointer to a struct scroll_bar. */ |
diff --git a/src/window.c b/src/window.c index b33dc328983..f9084e6c05f 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -6171,8 +6171,8 @@ as nil. */) | |||
| 6171 | (Lisp_Object window) | 6171 | (Lisp_Object window) |
| 6172 | { | 6172 | { |
| 6173 | struct window *w = decode_live_window (window); | 6173 | struct window *w = decode_live_window (window); |
| 6174 | return Fcons (make_number (w->left_margin_cols), | 6174 | return Fcons (w->left_margin_cols ? make_number (w->left_margin_cols) : Qnil, |
| 6175 | make_number (w->right_margin_cols)); | 6175 | w->right_margin_cols ? make_number (w->right_margin_cols) : Qnil); |
| 6176 | } | 6176 | } |
| 6177 | 6177 | ||
| 6178 | 6178 | ||