diff options
| author | Karoly Lorentey | 2006-03-12 04:12:31 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2006-03-12 04:12:31 +0000 |
| commit | 632210dd8530dc84a40ae9c127a4baf7b19f4a63 (patch) | |
| tree | 44110d97b10e10fe3b155f4b15d267b03b8fb74a /src | |
| parent | d2b86d7f40873f053489f386f7ab926bbb226bef (diff) | |
| download | emacs-632210dd8530dc84a40ae9c127a4baf7b19f4a63.tar.gz emacs-632210dd8530dc84a40ae9c127a4baf7b19f4a63.zip | |
Fix ediff problems. (Reported by Dan Nicolaescu.)
* lisp/subr.el (with-selected-frame): Make sure the current buffer is
restored as well.
* src/xfns.c (Fx_create_frame): Use `store_frame_param' to set
`window-system' frame parameter, and make sure it overrides any
user-supplied setting.
* src/xfns.c (x_icon): Disable redundant call to
`x_wm_set_window_state'. (Also applied in CVS.)
* lisp/faces.el (x-create-frame-with-faces): Don't make frame visible
until we are done setting up all its parameters.
* lisp/ediff-wind.el (ediff-setup-windows-automatic): New function.
(ediff-window-setup-function): Use it as default.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-528
Diffstat (limited to 'src')
| -rw-r--r-- | src/xfns.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/xfns.c b/src/xfns.c index 3616b4a7100..d3067e00fe8 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -2830,12 +2830,15 @@ x_icon (f, parms) | |||
| 2830 | if (! EQ (icon_x, Qunbound)) | 2830 | if (! EQ (icon_x, Qunbound)) |
| 2831 | x_wm_set_icon_position (f, XINT (icon_x), XINT (icon_y)); | 2831 | x_wm_set_icon_position (f, XINT (icon_x), XINT (icon_y)); |
| 2832 | 2832 | ||
| 2833 | #if 0 /* x_get_arg removes the visibility parameter as a side effect, | ||
| 2834 | but x_create_frame still needs it. */ | ||
| 2833 | /* Start up iconic or window? */ | 2835 | /* Start up iconic or window? */ |
| 2834 | x_wm_set_window_state | 2836 | x_wm_set_window_state |
| 2835 | (f, (EQ (x_get_arg (dpyinfo, parms, Qvisibility, 0, 0, RES_TYPE_SYMBOL), | 2837 | (f, (EQ (x_get_arg (dpyinfo, parms, Qvisibility, 0, 0, RES_TYPE_SYMBOL), |
| 2836 | Qicon) | 2838 | Qicon) |
| 2837 | ? IconicState | 2839 | ? IconicState |
| 2838 | : NormalState)); | 2840 | : NormalState)); |
| 2841 | #endif | ||
| 2839 | 2842 | ||
| 2840 | x_text_icon (f, (char *) SDATA ((!NILP (f->icon_name) | 2843 | x_text_icon (f, (char *) SDATA ((!NILP (f->icon_name) |
| 2841 | ? f->icon_name | 2844 | ? f->icon_name |
| @@ -3169,8 +3172,6 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 3169 | specbind (Qx_resource_name, name); | 3172 | specbind (Qx_resource_name, name); |
| 3170 | } | 3173 | } |
| 3171 | 3174 | ||
| 3172 | Fmodify_frame_parameters (frame, Fcons (Fcons (Qwindow_system, Qx), Qnil)); | ||
| 3173 | |||
| 3174 | /* Extract the window parameters from the supplied values | 3175 | /* Extract the window parameters from the supplied values |
| 3175 | that are needed to determine window geometry. */ | 3176 | that are needed to determine window geometry. */ |
| 3176 | { | 3177 | { |
| @@ -3410,6 +3411,8 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 3410 | if (CONSP (XCAR (tem)) && !NILP (XCAR (XCAR (tem)))) | 3411 | if (CONSP (XCAR (tem)) && !NILP (XCAR (XCAR (tem)))) |
| 3411 | f->param_alist = Fcons (XCAR (tem), f->param_alist); | 3412 | f->param_alist = Fcons (XCAR (tem), f->param_alist); |
| 3412 | 3413 | ||
| 3414 | store_frame_param (f, Qwindow_system, Qx); | ||
| 3415 | |||
| 3413 | UNGCPRO; | 3416 | UNGCPRO; |
| 3414 | 3417 | ||
| 3415 | /* Make sure windows on this frame appear in calls to next-window | 3418 | /* Make sure windows on this frame appear in calls to next-window |