diff options
| author | Eli Zaretskii | 2002-04-17 10:36:37 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 2002-04-17 10:36:37 +0000 |
| commit | ac431108e389d1cd8661ede968982cdeba955733 (patch) | |
| tree | e5f9eb22884e59fc47323f66fb9cf33b6b39e181 /src/window.c | |
| parent | edb8d73e62552cf2f95cbf871050913862dc5f18 (diff) | |
| download | emacs-ac431108e389d1cd8661ede968982cdeba955733.tar.gz emacs-ac431108e389d1cd8661ede968982cdeba955733.zip | |
(coordinates_in_window): Don't report on margin area if its width is zero.
Diffstat (limited to 'src/window.c')
| -rw-r--r-- | src/window.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/window.c b/src/window.c index 21fb9d53e59..e88873528c8 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -534,6 +534,7 @@ coordinates_in_window (w, x, y) | |||
| 534 | /* The width of the area where the vertical line can be dragged. | 534 | /* The width of the area where the vertical line can be dragged. |
| 535 | (Between mode lines for instance. */ | 535 | (Between mode lines for instance. */ |
| 536 | int grabbable_width = ux; | 536 | int grabbable_width = ux; |
| 537 | int lmargin_width = 0, rmargin_width = 0; | ||
| 537 | 538 | ||
| 538 | if (*x < x0 || *x >= x1) | 539 | if (*x < x0 || *x >= x1) |
| 539 | return ON_NOTHING; | 540 | return ON_NOTHING; |
| @@ -628,9 +629,14 @@ coordinates_in_window (w, x, y) | |||
| 628 | } | 629 | } |
| 629 | else | 630 | else |
| 630 | { | 631 | { |
| 631 | if (*x <= window_box_right (w, LEFT_MARGIN_AREA)) | 632 | lmargin_width = window_box_width (w, LEFT_MARGIN_AREA); |
| 633 | rmargin_width = window_box_width (w, RIGHT_MARGIN_AREA); | ||
| 634 | /* You can never be on a margin area if its width is zero. */ | ||
| 635 | if (lmargin_width | ||
| 636 | && *x <= window_box_right (w, LEFT_MARGIN_AREA)) | ||
| 632 | part = ON_LEFT_MARGIN; | 637 | part = ON_LEFT_MARGIN; |
| 633 | else if (*x >= window_box_left (w, RIGHT_MARGIN_AREA)) | 638 | else if (rmargin_width |
| 639 | && *x >= window_box_left (w, RIGHT_MARGIN_AREA)) | ||
| 634 | part = ON_RIGHT_MARGIN; | 640 | part = ON_RIGHT_MARGIN; |
| 635 | else | 641 | else |
| 636 | { | 642 | { |
| @@ -665,9 +671,15 @@ coordinates_in_window (w, x, y) | |||
| 665 | } | 671 | } |
| 666 | else | 672 | else |
| 667 | { | 673 | { |
| 668 | if (*x <= window_box_right (w, LEFT_MARGIN_AREA)) | 674 | lmargin_width = window_box_width (w, LEFT_MARGIN_AREA); |
| 675 | rmargin_width = window_box_width (w, RIGHT_MARGIN_AREA); | ||
| 676 | /* You can never be on a margin area if its width is zero. | ||
| 677 | This is especially important for character terminals. */ | ||
| 678 | if (lmargin_width | ||
| 679 | && *x <= window_box_right (w, LEFT_MARGIN_AREA)) | ||
| 669 | part = ON_LEFT_MARGIN; | 680 | part = ON_LEFT_MARGIN; |
| 670 | else if (*x >= window_box_left (w, RIGHT_MARGIN_AREA)) | 681 | else if (rmargin_width |
| 682 | && *x >= window_box_left (w, RIGHT_MARGIN_AREA)) | ||
| 671 | part = ON_RIGHT_MARGIN; | 683 | part = ON_RIGHT_MARGIN; |
| 672 | else | 684 | else |
| 673 | { | 685 | { |