diff options
| author | Miles Bader | 2006-06-17 20:57:37 +0000 |
|---|---|---|
| committer | Miles Bader | 2006-06-17 20:57:37 +0000 |
| commit | 10c1758c0b2d29b3e1fb8e3ffe5c5dc262f25217 (patch) | |
| tree | 78d2db4ab91026e7d5373086d022a2bce083200b /src/window.c | |
| parent | 2090e2a3897bd0e36fd0e8ba13d861668a0a887f (diff) | |
| parent | f362b76002bfd0f43af76a7772a808c042302f07 (diff) | |
| download | emacs-10c1758c0b2d29b3e1fb8e3ffe5c5dc262f25217.tar.gz emacs-10c1758c0b2d29b3e1fb8e3ffe5c5dc262f25217.zip | |
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 300-313)
- Update from CVS
- Update from CVS: lispref/display.texi (Forcing Redisplay): Fix typo.
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 105-106)
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-74
Diffstat (limited to 'src/window.c')
| -rw-r--r-- | src/window.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/window.c b/src/window.c index 59c223b4a8f..6a1edb24efb 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -4279,15 +4279,17 @@ adjust_window_trailing_edge (window, delta, horiz_flag) | |||
| 4279 | { | 4279 | { |
| 4280 | Lisp_Object first_parallel = Qnil; | 4280 | Lisp_Object first_parallel = Qnil; |
| 4281 | 4281 | ||
| 4282 | p = XWINDOW (window); | 4282 | if (NILP (window)) |
| 4283 | parent = p->parent; | ||
| 4284 | |||
| 4285 | if (NILP (XWINDOW (window)->next)) | ||
| 4286 | { | 4283 | { |
| 4284 | /* This can happen if WINDOW on the previous iteration was | ||
| 4285 | at top level of the tree and we did not exit. */ | ||
| 4287 | Fset_window_configuration (old_config); | 4286 | Fset_window_configuration (old_config); |
| 4288 | error ("No other window following this one"); | 4287 | error ("Specified window edge is fixed"); |
| 4289 | } | 4288 | } |
| 4290 | 4289 | ||
| 4290 | p = XWINDOW (window); | ||
| 4291 | parent = p->parent; | ||
| 4292 | |||
| 4291 | /* See if this level has windows in parallel in the specified | 4293 | /* See if this level has windows in parallel in the specified |
| 4292 | direction. If so, set FIRST_PARALLEL to the first one. */ | 4294 | direction. If so, set FIRST_PARALLEL to the first one. */ |
| 4293 | if (horiz_flag) | 4295 | if (horiz_flag) |
| @@ -4301,6 +4303,14 @@ adjust_window_trailing_edge (window, delta, horiz_flag) | |||
| 4301 | first_parallel = XWINDOW (parent)->hchild; | 4303 | first_parallel = XWINDOW (parent)->hchild; |
| 4302 | } | 4304 | } |
| 4303 | 4305 | ||
| 4306 | /* If this level's succession is in the desired dimension, | ||
| 4307 | and this window is the last one, its trailing edge is fixed. */ | ||
| 4308 | if (NILP (XWINDOW (window)->next) && NILP (first_parallel)) | ||
| 4309 | { | ||
| 4310 | Fset_window_configuration (old_config); | ||
| 4311 | error ("Specified window edge is fixed"); | ||
| 4312 | } | ||
| 4313 | |||
| 4304 | /* Don't make this window too small. */ | 4314 | /* Don't make this window too small. */ |
| 4305 | if (XINT (CURSIZE (window)) + delta | 4315 | if (XINT (CURSIZE (window)) + delta |
| 4306 | < (horiz_flag ? window_min_width : window_min_height)) | 4316 | < (horiz_flag ? window_min_width : window_min_height)) |
| @@ -4324,7 +4334,7 @@ adjust_window_trailing_edge (window, delta, horiz_flag) | |||
| 4324 | we will fail and report an error, above.) */ | 4334 | we will fail and report an error, above.) */ |
| 4325 | if (NILP (first_parallel)) | 4335 | if (NILP (first_parallel)) |
| 4326 | { | 4336 | { |
| 4327 | if (!NILP (XWINDOW (window)->next)) | 4337 | if (!NILP (p->next)) |
| 4328 | { | 4338 | { |
| 4329 | /* This may happen for the minibuffer. In that case | 4339 | /* This may happen for the minibuffer. In that case |
| 4330 | the window_deletion_count check below does not work. */ | 4340 | the window_deletion_count check below does not work. */ |
| @@ -4895,6 +4905,8 @@ window_scroll_pixel_based (window, n, whole, noerror) | |||
| 4895 | } | 4905 | } |
| 4896 | else if (noerror) | 4906 | else if (noerror) |
| 4897 | return; | 4907 | return; |
| 4908 | else if (n < 0) /* could happen with empty buffers */ | ||
| 4909 | Fsignal (Qbeginning_of_buffer, Qnil); | ||
| 4898 | else | 4910 | else |
| 4899 | Fsignal (Qend_of_buffer, Qnil); | 4911 | Fsignal (Qend_of_buffer, Qnil); |
| 4900 | } | 4912 | } |