• Paul Eggert's avatar
    Simplify list creation in C code · 5c2563a5
    Paul Eggert authored
    The main new thing here is that C code can now say
    ‘list (a, b, c, d, e, f)’ instead of
    ‘listn (CONSTYPE_HEAP, 6, a, b, c, d, e, f)’,
    thus relieving callers of the responsibility of counting
    arguments (plus, the code feels more like Lisp).  The old
    list1 ... list5 functions remain, as they’re probably a bit
    faster for small lists.
    * src/alloc.c (cons_listn, pure_listn): New functions.
    (listn): Omit enum argument.
    All callers changed to use either new ‘list’ or ‘pure_list’ macros.
    * src/charset.c (Fdefine_charset_internal):
    * src/coding.c (detect_coding_system)
    * src/frame.c (frame_size_history_add, adjust_frame_size):
    * src/gtkutil.c (xg_frame_set_char_size):
    * src/keyboard.c (command_loop_1):
    * src/nsfns.m (frame_geometry):
    * src/widget.c (set_frame_size):
    * src/xfaces.c (Fcolor_distance):
    * src/xfns.c (frame_geometry):
    * src/xterm.c (x_set_window_size_1):
    * src/xwidget.c (Fxwidget_size_request):
    Prefer list1i, list2i, etc. to open-coding them.
    * src/charset.c (Fset_charset_priority):
    * src/nsterm.m (append2):
    * src/window.c (window_list):
    * src/xfaces.c (Fx_list_fonts):
    Use nconc2 instead of open-coding it.
    * src/eval.c (eval_sub, backtrace_frame_apply):
    * src/kqueue.c (kqueue_generate_event):
    * src/nsterm.m (performDragOperation:):
    * src/pdumper.c (Fpdumper_stats):
    * src/w32.c (init_environment):
    Prefer list1, list2, etc. to open-coding them.
    * src/font.c (font_list_entities):
    Parenthesize to avoid expanding new ‘list’ macro.
    * src/gtkutil.c (GETSETUP): Rename from MAKE_FLOAT_PAGE_SETUP
    to get lines to fit.  Move outside the ‘list’ call, since it’s
    now a macro.
    * src/keymap.c (Fmake_keymap): Simplify.
    * src/lisp.h (list, pure_list): New macros.
    (list1i): New function.
xfns.c 245 KB