aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Antipov2013-03-07 07:01:17 +0400
committerDmitry Antipov2013-03-07 07:01:17 +0400
commit3de717bdb483f7c6e23cd7701ee4ebd77eccb8b9 (patch)
tree28cb71a881d9a3801c36dd7de6be5f0d2bcaf776
parentab89e9f9a594c30ce4c04e6d502bee3beaefe908 (diff)
downloademacs-3de717bdb483f7c6e23cd7701ee4ebd77eccb8b9.tar.gz
emacs-3de717bdb483f7c6e23cd7701ee4ebd77eccb8b9.zip
* lisp.h (list2i, list3i): New functions.
(list4i): Move from window.c and make LISP_INLINE. * editfns.c (make_lisp_time): * fns.c (Flocale_info): * keyboard.c (parse_modifiers): * xterm.c (x_ewmh_activate_frame): Use list2i. * instel.c (signal_after_change): * nsfns.m (Fx_server_version, Fxw_color_values): * w32fns.c (Fxw_color_values, Fx_server_version): * xfns.c (Fxw_color_values, Fx_server_version): Use list3i. * fileio.c (Fvisited_file_modtime): * nsfns.m (Fns_display_usable_bounds): * w32.c (ltime): Use list4i.
-rw-r--r--src/ChangeLog16
-rw-r--r--src/editfns.c4
-rw-r--r--src/fileio.c3
-rw-r--r--src/fns.c5
-rw-r--r--src/insdel.c5
-rw-r--r--src/keyboard.c4
-rw-r--r--src/lisp.h22
-rw-r--r--src/nsfns.m18
-rw-r--r--src/w32.c6
-rw-r--r--src/w32fns.c13
-rw-r--r--src/window.c9
-rw-r--r--src/xfns.c9
-rw-r--r--src/xterm.c5
13 files changed, 61 insertions, 58 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index c54d4bee7e9..eee20d998dd 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,19 @@
12013-03-07 Dmitry Antipov <dmantipov@yandex.ru>
2
3 * lisp.h (list2i, list3i): New functions.
4 (list4i): Move from window.c and make LISP_INLINE.
5 * editfns.c (make_lisp_time):
6 * fns.c (Flocale_info):
7 * keyboard.c (parse_modifiers):
8 * xterm.c (x_ewmh_activate_frame): Use list2i.
9 * instel.c (signal_after_change):
10 * nsfns.m (Fx_server_version, Fxw_color_values):
11 * w32fns.c (Fxw_color_values, Fx_server_version):
12 * xfns.c (Fxw_color_values, Fx_server_version): Use list3i.
13 * fileio.c (Fvisited_file_modtime):
14 * nsfns.m (Fns_display_usable_bounds):
15 * w32.c (ltime): Use list4i.
16
12013-03-06 Eli Zaretskii <eliz@gnu.org> 172013-03-06 Eli Zaretskii <eliz@gnu.org>
2 18
3 * search.c (find_newline_no_quit): Rename from find_next_newline. 19 * search.c (find_newline_no_quit): Rename from find_next_newline.
diff --git a/src/editfns.c b/src/editfns.c
index 831c8359fab..e1813dc65a1 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -1484,9 +1484,7 @@ Lisp_Object
1484make_lisp_time (EMACS_TIME t) 1484make_lisp_time (EMACS_TIME t)
1485{ 1485{
1486 int ns = EMACS_NSECS (t); 1486 int ns = EMACS_NSECS (t);
1487 return make_time_tail (EMACS_SECS (t), 1487 return make_time_tail (EMACS_SECS (t), list2i (ns / 1000, ns % 1000 * 1000));
1488 list2 (make_number (ns / 1000),
1489 make_number (ns % 1000 * 1000)));
1490} 1488}
1491 1489
1492/* Decode a Lisp list SPECIFIED_TIME that represents a time. 1490/* Decode a Lisp list SPECIFIED_TIME that represents a time.
diff --git a/src/fileio.c b/src/fileio.c
index 89ad3396464..d7363077b35 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -5413,8 +5413,7 @@ See Info node `(elisp)Modification Time' for more details. */)
5413 if (EMACS_NSECS (current_buffer->modtime) == NONEXISTENT_MODTIME_NSECS) 5413 if (EMACS_NSECS (current_buffer->modtime) == NONEXISTENT_MODTIME_NSECS)
5414 { 5414 {
5415 /* make_lisp_time won't work here if time_t is unsigned. */ 5415 /* make_lisp_time won't work here if time_t is unsigned. */
5416 return list4 (make_number (-1), make_number (65535), 5416 return list4i (-1, 65535, 0, 0);
5417 make_number (0), make_number (0));
5418 } 5417 }
5419 return make_number (0); 5418 return make_number (0);
5420 } 5419 }
diff --git a/src/fns.c b/src/fns.c
index 44ddf340856..b3a1dc2317a 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -2839,10 +2839,7 @@ The data read from the system are decoded using `locale-coding-system'. */)
2839 but is in the locale files. This could be used by ps-print. */ 2839 but is in the locale files. This could be used by ps-print. */
2840#ifdef PAPER_WIDTH 2840#ifdef PAPER_WIDTH
2841 else if (EQ (item, Qpaper)) 2841 else if (EQ (item, Qpaper))
2842 { 2842 return list2i (nl_langinfo (PAPER_WIDTH), nl_langinfo (PAPER_HEIGHT));
2843 return list2 (make_number (nl_langinfo (PAPER_WIDTH)),
2844 make_number (nl_langinfo (PAPER_HEIGHT)));
2845 }
2846#endif /* PAPER_WIDTH */ 2843#endif /* PAPER_WIDTH */
2847#endif /* HAVE_LANGINFO_CODESET*/ 2844#endif /* HAVE_LANGINFO_CODESET*/
2848 return Qnil; 2845 return Qnil;
diff --git a/src/insdel.c b/src/insdel.c
index 4cf4e6452a1..fc5a4576dc2 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -2013,9 +2013,8 @@ signal_after_change (ptrdiff_t charpos, ptrdiff_t lendel, ptrdiff_t lenins)
2013 && current_buffer != XBUFFER (combine_after_change_buffer)) 2013 && current_buffer != XBUFFER (combine_after_change_buffer))
2014 Fcombine_after_change_execute (); 2014 Fcombine_after_change_execute ();
2015 2015
2016 elt = Fcons (make_number (charpos - BEG), 2016 elt = list3i (charpos - BEG, Z - (charpos - lendel + lenins),
2017 Fcons (make_number (Z - (charpos - lendel + lenins)), 2017 lenins - lendel);
2018 Fcons (make_number (lenins - lendel), Qnil)));
2019 combine_after_change_list 2018 combine_after_change_list
2020 = Fcons (elt, combine_after_change_list); 2019 = Fcons (elt, combine_after_change_list);
2021 combine_after_change_buffer = Fcurrent_buffer (); 2020 combine_after_change_buffer = Fcurrent_buffer ();
diff --git a/src/keyboard.c b/src/keyboard.c
index 9cb9dd0b47b..914378947ed 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -6225,9 +6225,7 @@ parse_modifiers (Lisp_Object symbol)
6225 Lisp_Object elements; 6225 Lisp_Object elements;
6226 6226
6227 if (INTEGERP (symbol)) 6227 if (INTEGERP (symbol))
6228 return (Fcons (make_number (KEY_TO_CHAR (symbol)), 6228 return list2i (KEY_TO_CHAR (symbol), XINT (symbol) & CHAR_MODIFIER_MASK);
6229 Fcons (make_number (XINT (symbol) & CHAR_MODIFIER_MASK),
6230 Qnil)));
6231 else if (!SYMBOLP (symbol)) 6229 else if (!SYMBOLP (symbol))
6232 return Qnil; 6230 return Qnil;
6233 6231
diff --git a/src/lisp.h b/src/lisp.h
index fe216b93401..72bf4223d6b 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -3001,6 +3001,28 @@ extern Lisp_Object list5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object,
3001 Lisp_Object); 3001 Lisp_Object);
3002enum constype {CONSTYPE_HEAP, CONSTYPE_PURE}; 3002enum constype {CONSTYPE_HEAP, CONSTYPE_PURE};
3003extern Lisp_Object listn (enum constype, ptrdiff_t, Lisp_Object, ...); 3003extern Lisp_Object listn (enum constype, ptrdiff_t, Lisp_Object, ...);
3004
3005/* Build a frequently used 2/3/4-integer lists. */
3006
3007LISP_INLINE Lisp_Object
3008list2i (EMACS_INT x, EMACS_INT y)
3009{
3010 return list2 (make_number (x), make_number (y));
3011}
3012
3013LISP_INLINE Lisp_Object
3014list3i (EMACS_INT x, EMACS_INT y, EMACS_INT w)
3015{
3016 return list3 (make_number (x), make_number (y), make_number (w));
3017}
3018
3019LISP_INLINE Lisp_Object
3020list4i (EMACS_INT x, EMACS_INT y, EMACS_INT w, EMACS_INT h)
3021{
3022 return list4 (make_number (x), make_number (y),
3023 make_number (w), make_number (h));
3024}
3025
3004extern _Noreturn void string_overflow (void); 3026extern _Noreturn void string_overflow (void);
3005extern Lisp_Object make_string (const char *, ptrdiff_t); 3027extern Lisp_Object make_string (const char *, ptrdiff_t);
3006extern Lisp_Object make_formatted_string (char *, const char *, ...) 3028extern Lisp_Object make_formatted_string (char *, const char *, ...)
diff --git a/src/nsfns.m b/src/nsfns.m
index fac61d2ab53..e4dde5fb894 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -1649,9 +1649,7 @@ If omitted or nil, that stands for the selected frame's display. */)
1649 The last number is where we distinguish between the Apple 1649 The last number is where we distinguish between the Apple
1650 and GNUstep implementations ("distributor-specific release 1650 and GNUstep implementations ("distributor-specific release
1651 number") and give int'ized versions of major.minor. */ 1651 number") and give int'ized versions of major.minor. */
1652 return Fcons (make_number (10), 1652 return list3i (10, 3, ns_appkit_version_int ());
1653 Fcons (make_number (3),
1654 Fcons (make_number (ns_appkit_version_int()), Qnil)));
1655} 1653}
1656 1654
1657 1655
@@ -2296,9 +2294,8 @@ DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0,
2296 2294
2297 [[col colorUsingColorSpaceName: NSCalibratedRGBColorSpace] 2295 [[col colorUsingColorSpaceName: NSCalibratedRGBColorSpace]
2298 getRed: &red green: &green blue: &blue alpha: &alpha]; 2296 getRed: &red green: &green blue: &blue alpha: &alpha];
2299 return list3 (make_number (lrint (red*65280)), 2297 return list3i (lrint (red * 65280), lrint (green * 65280),
2300 make_number (lrint (green*65280)), 2298 lrint (blue * 65280));
2301 make_number (lrint (blue*65280)));
2302} 2299}
2303 2300
2304 2301
@@ -2385,11 +2382,10 @@ that stands for the selected frame's display. */)
2385 2382
2386 /* NS coordinate system is upside-down. 2383 /* NS coordinate system is upside-down.
2387 Transform to screen-specific coordinates. */ 2384 Transform to screen-specific coordinates. */
2388 return list4 (make_number ((int) vScreen.origin.x), 2385 return list4i (vScreen.origin.x,
2389 make_number ((int) [screen frame].size.height 2386 [screen frame].size.height
2390 - vScreen.size.height - vScreen.origin.y), 2387 - vScreen.size.height - vScreen.origin.y,
2391 make_number ((int) vScreen.size.width), 2388 vScreen.size.width, vScreen.size.height);
2392 make_number ((int) vScreen.size.height));
2393} 2389}
2394 2390
2395 2391
diff --git a/src/w32.c b/src/w32.c
index 5a6cb894f5f..647faf94ef1 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -5580,10 +5580,8 @@ ltime (ULONGLONG time_100ns)
5580{ 5580{
5581 ULONGLONG time_sec = time_100ns / 10000000; 5581 ULONGLONG time_sec = time_100ns / 10000000;
5582 int subsec = time_100ns % 10000000; 5582 int subsec = time_100ns % 10000000;
5583 return list4 (make_number (time_sec >> 16), 5583 return list4i (time_sec >> 16, time_sec & 0xffff,
5584 make_number (time_sec & 0xffff), 5584 subsec / 10, subsec % 10 * 100000);
5585 make_number (subsec / 10),
5586 make_number (subsec % 10 * 100000));
5587} 5585}
5588 5586
5589#define U64_TO_LISP_TIME(time) ltime (time) 5587#define U64_TO_LISP_TIME(time) ltime (time)
diff --git a/src/w32fns.c b/src/w32fns.c
index 5fab2c9a3df..6fd980c6b70 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -4587,12 +4587,9 @@ DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0,
4587 CHECK_STRING (color); 4587 CHECK_STRING (color);
4588 4588
4589 if (w32_defined_color (f, SDATA (color), &foo, 0)) 4589 if (w32_defined_color (f, SDATA (color), &foo, 0))
4590 return list3 (make_number ((GetRValue (foo.pixel) << 8) 4590 return list3i ((GetRValue (foo.pixel) << 8) | GetRValue (foo.pixel),
4591 | GetRValue (foo.pixel)), 4591 (GetGValue (foo.pixel) << 8) | GetGValue (foo.pixel),
4592 make_number ((GetGValue (foo.pixel) << 8) 4592 (GetBValue (foo.pixel) << 8) | GetBValue (foo.pixel));
4593 | GetGValue (foo.pixel)),
4594 make_number ((GetBValue (foo.pixel) << 8)
4595 | GetBValue (foo.pixel)));
4596 else 4593 else
4597 return Qnil; 4594 return Qnil;
4598} 4595}
@@ -4718,9 +4715,7 @@ DISPLAY should be either a frame or a display name (a string).
4718If omitted or nil, that stands for the selected frame's display. */) 4715If omitted or nil, that stands for the selected frame's display. */)
4719 (Lisp_Object display) 4716 (Lisp_Object display)
4720{ 4717{
4721 return Fcons (make_number (w32_major_version), 4718 return list3i (w32_major_version, w32_minor_version, w32_build_number);
4722 Fcons (make_number (w32_minor_version),
4723 Fcons (make_number (w32_build_number), Qnil)));
4724} 4719}
4725 4720
4726DEFUN ("x-display-screens", Fx_display_screens, Sx_display_screens, 0, 1, 0, 4721DEFUN ("x-display-screens", Fx_display_screens, Sx_display_screens, 0, 1, 0,
diff --git a/src/window.c b/src/window.c
index c2da2e8637a..ed0c1283abe 100644
--- a/src/window.c
+++ b/src/window.c
@@ -300,15 +300,6 @@ wset_buffer (struct window *w, Lisp_Object val)
300 adjust_window_count (w, 1); 300 adjust_window_count (w, 1);
301} 301}
302 302
303/* Build a frequently used 4-integer (X Y W H) list. */
304
305static Lisp_Object
306list4i (EMACS_INT x, EMACS_INT y, EMACS_INT w, EMACS_INT h)
307{
308 return list4 (make_number (x), make_number (y),
309 make_number (w), make_number (h));
310}
311
312DEFUN ("windowp", Fwindowp, Swindowp, 1, 1, 0, 303DEFUN ("windowp", Fwindowp, Swindowp, 1, 1, 0,
313 doc: /* Return t if OBJECT is a window and nil otherwise. */) 304 doc: /* Return t if OBJECT is a window and nil otherwise. */)
314 (Lisp_Object object) 305 (Lisp_Object object)
diff --git a/src/xfns.c b/src/xfns.c
index f01983fea4d..5c93b8ef4da 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -3539,9 +3539,7 @@ DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0,
3539 CHECK_STRING (color); 3539 CHECK_STRING (color);
3540 3540
3541 if (x_defined_color (f, SSDATA (color), &foo, 0)) 3541 if (x_defined_color (f, SSDATA (color), &foo, 0))
3542 return list3 (make_number (foo.red), 3542 return list3i (foo.red, foo.green, foo.blue);
3543 make_number (foo.green),
3544 make_number (foo.blue));
3545 else 3543 else
3546 return Qnil; 3544 return Qnil;
3547} 3545}
@@ -3703,9 +3701,8 @@ If omitted or nil, that stands for the selected frame's display. */)
3703 struct x_display_info *dpyinfo = check_x_display_info (terminal); 3701 struct x_display_info *dpyinfo = check_x_display_info (terminal);
3704 Display *dpy = dpyinfo->display; 3702 Display *dpy = dpyinfo->display;
3705 3703
3706 return Fcons (make_number (ProtocolVersion (dpy)), 3704 return list3i (ProtocolVersion (dpy), ProtocolRevision (dpy),
3707 Fcons (make_number (ProtocolRevision (dpy)), 3705 VendorRelease (dpy));
3708 Fcons (make_number (VendorRelease (dpy)), Qnil)));
3709} 3706}
3710 3707
3711DEFUN ("x-display-screens", Fx_display_screens, Sx_display_screens, 0, 1, 0, 3708DEFUN ("x-display-screens", Fx_display_screens, Sx_display_screens, 0, 1, 0,
diff --git a/src/xterm.c b/src/xterm.c
index b5274992293..88433b6c0b3 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -8951,10 +8951,7 @@ x_ewmh_activate_frame (FRAME_PTR f)
8951 XSETFRAME (frame, f); 8951 XSETFRAME (frame, f);
8952 x_send_client_event (frame, make_number (0), frame, 8952 x_send_client_event (frame, make_number (0), frame,
8953 dpyinfo->Xatom_net_active_window, 8953 dpyinfo->Xatom_net_active_window,
8954 make_number (32), 8954 make_number (32), list2i (1, last_user_time));
8955 Fcons (make_number (1),
8956 Fcons (make_number (last_user_time),
8957 Qnil)));
8958 } 8955 }
8959} 8956}
8960 8957