diff options
| author | Jan Djärv | 2011-12-04 14:25:16 +0100 |
|---|---|---|
| committer | Jan Djärv | 2011-12-04 14:25:16 +0100 |
| commit | a0c3fad023c0b5812db38d2f1bd41998d7c001b1 (patch) | |
| tree | efe5b9581aef9c5f5e52ce4d222b918f1138e103 /src | |
| parent | cdbbc22d1f23ad0a6a8e26a5fea5abd74f4386bc (diff) | |
| download | emacs-a0c3fad023c0b5812db38d2f1bd41998d7c001b1.tar.gz emacs-a0c3fad023c0b5812db38d2f1bd41998d7c001b1.zip | |
* nsfns.m (get_geometry_from_preferences): New function.
(Fx_create_frame): Call get_geometry_from_preferences.
Fixes: debbugs:10103
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/nsfns.m | 35 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index a1d5cc9d5bd..a707eaae9eb 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-12-04 Jan Djärv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * nsfns.m (get_geometry_from_preferences): New function. | ||
| 4 | (Fx_create_frame): Call get_geometry_from_preferences (Bug#10103). | ||
| 5 | |||
| 1 | 2011-12-04 Andreas Schwab <schwab@linux-m68k.org> | 6 | 2011-12-04 Andreas Schwab <schwab@linux-m68k.org> |
| 2 | 7 | ||
| 3 | * emacs.c (Qkill_emacs): Define. | 8 | * emacs.c (Qkill_emacs): Define. |
diff --git a/src/nsfns.m b/src/nsfns.m index 280fee0b27b..482650fab2b 100644 --- a/src/nsfns.m +++ b/src/nsfns.m | |||
| @@ -1076,7 +1076,41 @@ unwind_create_frame (Lisp_Object frame) | |||
| 1076 | return Qnil; | 1076 | return Qnil; |
| 1077 | } | 1077 | } |
| 1078 | 1078 | ||
| 1079 | /* | ||
| 1080 | * Read geometry related parameters from preferences if not in PARMS. | ||
| 1081 | * Returns the union of parms and any preferences read. | ||
| 1082 | */ | ||
| 1083 | |||
| 1084 | static Lisp_Object | ||
| 1085 | get_geometry_from_preferences (struct ns_display_info *dpyinfo, | ||
| 1086 | Lisp_Object parms) | ||
| 1087 | { | ||
| 1088 | struct { | ||
| 1089 | const char *val; | ||
| 1090 | const char *cls; | ||
| 1091 | Lisp_Object tem; | ||
| 1092 | } r[] = { | ||
| 1093 | { "width", "Width", Qwidth }, | ||
| 1094 | { "height", "Height", Qheight }, | ||
| 1095 | { "left", "Left", Qleft }, | ||
| 1096 | { "top", "Top", Qtop }, | ||
| 1097 | }; | ||
| 1098 | |||
| 1099 | int i; | ||
| 1100 | for (i = 0; i < sizeof (r)/sizeof (r[0]); ++i) | ||
| 1101 | { | ||
| 1102 | if (NILP (Fassq (r[i].tem, parms))) | ||
| 1103 | { | ||
| 1104 | Lisp_Object value | ||
| 1105 | = x_get_arg (dpyinfo, parms, r[i].tem, r[i].val, r[i].cls, | ||
| 1106 | RES_TYPE_NUMBER); | ||
| 1107 | if (! EQ (value, Qunbound)) | ||
| 1108 | parms = Fcons (Fcons (r[i].tem, value), parms); | ||
| 1109 | } | ||
| 1110 | } | ||
| 1079 | 1111 | ||
| 1112 | return parms; | ||
| 1113 | } | ||
| 1080 | 1114 | ||
| 1081 | /* ========================================================================== | 1115 | /* ========================================================================== |
| 1082 | 1116 | ||
| @@ -1285,6 +1319,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 1285 | x_default_parameter (f, parms, Qtitle, Qnil, "title", "Title", | 1319 | x_default_parameter (f, parms, Qtitle, Qnil, "title", "Title", |
| 1286 | RES_TYPE_STRING); | 1320 | RES_TYPE_STRING); |
| 1287 | 1321 | ||
| 1322 | parms = get_geometry_from_preferences (dpyinfo, parms); | ||
| 1288 | window_prompting = x_figure_window_size (f, parms, 1); | 1323 | window_prompting = x_figure_window_size (f, parms, 1); |
| 1289 | 1324 | ||
| 1290 | tem = x_get_arg (dpyinfo, parms, Qunsplittable, 0, 0, RES_TYPE_BOOLEAN); | 1325 | tem = x_get_arg (dpyinfo, parms, Qunsplittable, 0, 0, RES_TYPE_BOOLEAN); |