1. 30 Sep, 2016 1 commit
    • Paul Eggert's avatar
      Fix problems found by static checking --with-ns · 3c2c5026
      Paul Eggert authored
      This is for Fedora 24 when configured with --enable-gcc-warnings.
      Although it does not fix all the problems, it fixes many of them.
      * src/frame.c (XParseGeometry):
      * src/nsterm.m (mouseDown:):
      Mark locals with UNINIT to pacify --enable-gcc-warnings.
      * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
      Remove unused macros.
      (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
      (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
      (xpm_put_color_table_v, xpm_get_color_table_v)
      (xpm_make_color_table_h, xpm_put_color_table_h)
      (xpm_get_color_table_h, xpm_load_image, xpm_load)
      (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
      (svg_load_image):
      * src/nsfns.m (x_get_string_resource):
      * src/nsimage.m (ns_image_from_XBM):
      Fix pointer signedness problems.
      * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
      (imagemagick_load_image): Omit unused locals.
      * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
      (Fx_open_connection):
      * src/nsfont.m (ns_antialias_threshold):
      Move extern decl to nsterm.h so it can be checked.
      * src/nsmenu.m (svcsMenu, dockMenu):
      Move to the only file that uses them, so they can be static.
      * src/nsterm.h (find_and_call_menu_selection):
      * src/nsterm.m (x_set_frame_alpha):
      Omit duplicate decls.
      * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
      * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
      (ns_set_name_as_filename, x_set_menu_bar_lines)
      (x_set_tool_bar_lines, x_set_internal_border_width):
      * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
      Now static.
      * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
      * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
      Remove; unused.
      * src/nsfont.m (ns_dump_glyphstring):
      * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
      (ns_clear_frame, keyDown:):
      Fix signedness problem with printf arg.
      * src/nsterm.h (ns_input_events, ns_finish_events):
      * src/nsterm.m (ns_finish_events, hide_bell):
      Prototype the decls.
      * src/nsterm.m (NSMenuDidBeginTrackingNotification):
      Omit unnecessary decl.
      (dockMenu):
      (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
      (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
      (toggleFullScreen:): Use FACE_FROM_ID instead of
      FACE_FROM_ID_OR_NULL in contexts where the caller expects the
      result to be non-null.
      (applicationShouldTerminate:): Fix misleading indentation.
      3c2c5026
  2. 23 Sep, 2016 1 commit
  3. 12 Sep, 2016 1 commit
    • Michal Nazarewicz's avatar
      Fix compiler thinking width and height may be unitialised in frame.c · ee98ca67
      Michal Nazarewicz authored
      This fixes the following warning:
      
      	frame.c: In function ‘x_set_frame_parameters’:
      	frame.c:3329:25: error: ‘width’ may be used uninitialized in
      		this function [-Werror=maybe-uninitialized]
      	       adjust_frame_size (f, width_change ? width : -1,
                               ^
      
      * src/frame.c (x_set_frame_parameters): Drop width_changed and
      height_changed variables in favour of storing that information in
      width and height variables.
      ee98ca67
  4. 25 Aug, 2016 1 commit
  5. 22 Aug, 2016 1 commit
  6. 21 Aug, 2016 2 commits
    • Paul Eggert's avatar
      Minor text-quoting-style fixes · b1601a95
      Paul Eggert authored
      * src/charset.c (check_iso_charset_parameter):
      * src/frame.c (store_frame_param):
      * src/xselect.c (x_fill_property_data):
      Use grave accent for left single quote in ‘error’ format strings.
      b1601a95
    • Martin Rudalics's avatar
      Fix semantics of 'minibuffer' frame parameter · 1a1062d6
      Martin Rudalics authored
      The 'minibuffer' frame parameter is now t for a normal frame
      (a frame with a root window plus a minibuffer window) and the
      frame's minibuffer window for a minibuffer-less frame (a frame
      whose minibuffer window is on another frame).  See also:
      https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg01259.html
      
      * src/frame.c (make_frame, make_frame_without_minibuffer)
      (make_minibuffer_frame): When assigning the frame's minibuffer
      window also store corresponding 'minibuffer' frame parameter.
      (store_frame_param): Move the 'minibuffer' parameter checks to
      the beginning so we can silently override the value before it
      gets stored in the parameter alist.  Fix error handling.
      (Fframe_parameters): Return value of 'minibuffer' parameter
      unmodified.
      
      * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
      the parameter is a minibuffer window, save (minibuffer . nil)
      instead of (minibuffer . t).
      (frameset--reuse-frame): To find a non-minibuffer-only frame
      look out for a frame whose 'minibuffer' parameter is t instead
      of that frame's minibuffer window.
      (frameset-minibufferless-first-p): To find a minibuffer-less
      frame look out for a frame whose 'minibuffer' parameter is a
      window instead of nil.
      1a1062d6
  7. 03 Aug, 2016 1 commit
  8. 12 Jul, 2016 2 commits
    • John Wiegley's avatar
      Revert "Cleanup tooltips" · 54b7eb0d
      John Wiegley authored
      This reverts commit 20038f8a.
      
      I am reverting this change because it was applied without prior discussion
      on emacs-devel, and has been found to break the NS port.  It needs more
      testing and review before it should be applied here.
      54b7eb0d
    • Dmitry Antipov's avatar
      Cleanup tooltips · 20038f8a
      Dmitry Antipov authored
      * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
      * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
      (FRAME_TOOLTIP_P): New macro.
      * src/frame.c (make_frame): Mark new frame as regular frame by default.
      (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
      (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
      and 'Qtooltip_parameters' instead.
      * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
      * src/gtkutil.c (xg_hide_tip): New function.
      (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
      * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
      * src/nsfns.c (toplevel): Remove 'tip_frame' leftover.
      * src/w32fns.c (unwind_create_tip_frame): Remove.
      (w32_display_monitor_attributes_list)
      (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
      (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
      (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
      as a tooltip frame and record it using appropriate display info.
      (x_hide_tooltip): Add frame arg.
      (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
      base frame parameters, store tooltip hide timer among tooltip frame
      parameters.
      (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
      (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
      and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
      * src/w32term.c (w32_read_socket): Extract tooltip window id from
      per-display data.  Use FRAME_TOOLTIP_P where appropriate.
      (x_new_font): Use FRAME_TOOLTIP_P.
      (x_free_frame_resources): Reset pointer to tooltip frame.
      * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
      * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
      Use FRAME_TOOLTIP_P.
      * src/xfns.c (x_make_monitor_attribute_list)
      (Fx_display_monitor_attributes_list): Likewise.
      (unwind_create_tip_frame): Remove.
      (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
      (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
      as a tooltip frame and record it using appropriate display info.
      (x_hide_tooltip): Add frame arg.
      (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
      base frame parameters, store tooltip hide timer among tooltip frame
      parameters.  To hide GTK system tooltip, use timeout hooked into GTK
      event loop.
      (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
      (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
      and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
      * src/xterm.c (handle_one_xevent): Extract tooltip window id from
      per-display data.  Use FRAME_TOOLTIP_P where appropriate.
      (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
      (x_free_frame_resources): Reset pointer to tooltip frame.
      * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
      (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
      20038f8a
  9. 06 Jul, 2016 1 commit
  10. 30 Jun, 2016 1 commit
  11. 22 Jun, 2016 1 commit
    • Paul Eggert's avatar
      Improve --without-x GCC pacification · 1c019905
      Paul Eggert authored
      * src/composite.c (autocmp_chars):
      * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
      Use simpler ((void) 0) for no-op expression returning void.
      * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
      Include fontset.h, for face_for_char.
      (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
      Now inline functions instead of macros.  This avoids the need for
      all those casts to void.
      (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
      All uses changed.
      * src/frame.c (Ficonify_frame, Fset_frame_position):
      * src/xdisp.c (Fmove_point_visually, show_mouse_face):
      * src/xdisp.c (note_mode_line_or_margin_highlight)
      (note_mouse_highlight):
      Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
      now work either way without generating warnings.
      * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
      (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
      (decode_window_system_frame): Use check_window_system instead of
      rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
      (decode_window_system_frame, check_window_system):
      Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
      * src/frame.c (Ficonify_frame, Fset_frame_position):
      * src/xdisp.c (show_mouse_face, define_frame_cursor1)
      (note_mouse_highlight):
      Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
      this is a better way to pacify GCC.
      * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
      (x_set_right_divider_width, x_set_bottom_divider_width):
      * src/xfns.c (x_set_internal_border_width):
      Don’t use what are now function calls as lvalues.
      * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
      (decode_window_system_frame, check_window_system):
      Use it, to avoid the need for duplicate declarations.
      (window_system_available): Now an inline function.
      (display_available): New decl.
      (frame_dimension): New inline function.
      (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
      (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
      (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
      (FRAME_BOTTOM_DIVIDER_WIDTH):
      Use it, to avoid the need for duplicate definitions.
      Now inline functions instead of macros.
      * src/gnutls.c (gnutls_log_function2i): Remove.
      * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
      This avoids complaints about gnutls_log_function2i being defined
      and not used on older platforms that do not need to call GNUTLS_LOG2i.
      * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
      * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
      expr’ to ‘type id; id = expr’, as this would suppress valid
      jump-misses-init diagnostics.  Let’s find a better way to address
      the problem.
      * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
      Define only if needed.
      * src/xdisp.c (handle_single_display_spec):
      Simplify fringe_bitmap computation.
      (define_frame_cursor1): Do nothing unless in a window system.
      All callers changed and simplified.
      * src/xfaces.c (realize_default_face):
      Use a simpler way to pacify GCC when a return value is not used
      on some platforms.
      1c019905
  12. 21 Jun, 2016 1 commit
    • Ken Brown's avatar
      Fix compiler warnings in no-window-system-build · d4c1535c
      Ken Brown authored
      * src/composite.c (autocmp_chars): Declare and set 'f' only if
      HAVE_WINDOW_SYSTEM.
      
      * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
      (FACE_FOR_CHAR): Explicitly discard unused arguments.
      
      * src/font.c (font_open_entity): Declare 'min_width' where it is
      first set, and only if HAVE_WINDOW_SYSTEM.
      
      * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
      Define _Noreturn version to avoid "suggest attribute noreturn"
      compiler warning.
      (check_window_system): Declare as _Noreturn.
      (Ficonify_frame):
      (Fset_frame_position): Don’t declare and set 'f'.
      
      * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
      (check_window_system):  Add _Noreturn prototypes.
      (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
      (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
      (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
      (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
      
      * src/xdisp.c (handle_single_display_spec): Declare
      'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
      (append_space_for_newline): Declare 'g' where it is first set.
      (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
      HAVE_WINDOW_SYSTEM.
      (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
      if HAVE_WINDOW_SYSTEM.
      (note_mode_line_or_margin_highlight):
      (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
      only if HAVE_WINDOW_SYSTEM.
      
      * src/xfaces.c (realize_default_face): Declare and set 'face' only
      if HAVE_X_WINDOWS.  Remove redundant #ifdef.
      d4c1535c
  13. 30 May, 2016 1 commit
    • Paul Eggert's avatar
      Omit IF_LINT code that no longer seems needed · 237244bb
      Paul Eggert authored
      Nowadays GCC is smarter, or the Emacs code has mutated, or both,
      and now is as good a time as any to remove uses of IF_LINT that
      now seem to be unnecessary.
      * lib-src/emacsclient.c (set_local_socket):
      * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
      * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
      * src/casefiddle.c (casify_region):
      * src/charset.c (load_charset_map):
      * src/coding.c (decode_coding_object, encode_coding_object):
      * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
      (cons_to_unsigned, cons_to_signed):
      * src/frame.c (make_frame, x_set_frame_parameters):
      * src/keyboard.c (read_event_from_main_queue):
      * src/regex.c (regex_compile):
      * src/syntax.c (back_comment):
      * src/window.c (Frecenter):
      * src/xfaces.c (Fx_list_fonts):
      Remove IF_LINT that no longer seems necessary.
      * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
      * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
      a pragma dance to pacify GCC -Wclobbered.
      * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
      
      * src/xterm.c (x_connection_closed): Now _Noreturn, which should
      mean we do not need IF_LINT any more.
      (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
      at the end, to forestall warnings from older compilers.
      237244bb
  14. 30 Apr, 2016 1 commit
    • Eli Zaretskii's avatar
      Fix the MSDOS build · ccdaf04c
      Eli Zaretskii authored
      * config.bat:
      * msdos/sedlisp.inp:
      * msdos/sedlibmk.inp:
      * msdos/sedleim.inp:
      * msdos/sedadmin.inp:
      * msdos/sed6.inp:
      * msdos/sed3v2.inp:
      * msdos/sed2v2.inp:
      * msdos/sed1v2.inp: Adapt to Emacs 25.
      
      * src/process.c (remove_slash_colon): Move out of "#ifdef
      subprocesses" block, as it its called unconditionally.  Move
      ADD_SUBFEATURE calls into "#ifdef subprocesses" block, as they
      reference variables only defined in that block.
      * src/msdos.h: Provide prototypes for IT_set_frame_parameters,
      faccessat, msdos_fatal_signal, syms_of_msdos, pthread_sigmask,
      dos_keysns, dos_keyread, run_msdos_command, and
      syms_of_win16select, to avoid compiler warnings.
      * src/msdos.c (SYS_ENVIRON): Define to either '_environ' or
      'environ', depending on the DJGPP version.
      Remove declarations of externally-visible Lisp objects, like
      Qbackground_color and Qreverse.
      (run_msdos_command): First argument is not signed, not unsigned.
      Use SYS_ENVIRON.
      (sys_select): Use 'timespec_cmp' instead of 'timespec_sign', as
      the latter doesn't work when 'time_t' is an unsigned data type.
      This caused idle timers to behave incorrectly: they only fired
      after a keyboard input event.
      * src/frame.c (adjust_frame_size) [MSDOS]: Account for
      FRAME_TOP_MARGIN that isn't counted in the frame's number of
      lines, but dos_set_window_size needs it to be added.
      * src/lread.c (INFINITY, NAN) [DJGPP < 2.05]: Provide definitions.
      * src/fns.c (sort_vector_copy) [__GNUC__ < 4]: Provide a prototype
      that works around compilation errors with older GCC versions.
      * src/w16select.c: Don't declare QCLIPBOARD and QPRIMARY as Lisp
      Objects.
      * src/filelock.c [MSDOS]: Ifdef away most of the code.  Provide
      no-op implementations for 'lock_file' and 'unlock_file'.
      (Ffile_locked_p) [MSDOS]: Always return nil.  This avoids multiple
      ifdefs in all users of filelock.c functionality.
      * src/conf_post.h (EOVERFLOW, SIZE_MAX) [DJGPP < 2.04]: Define.
      * src/emacs.c [MSDOS]: Include dosfns.h, to avoid compiler
      warnings.
      * src/dosfns.h: Provide prototypes for dos_cleanup,
      syms_of_dosfns, and init_dosfns.
      * src/deps.mk (atimer.o): Depend on msdos.h.
      (emacs.o): Depend on dosfns.h.
      * src/atimer.c [MSDOS]: Include msdos.h, to avoid compiler
      warnings.
      
      * lisp/window.el (window--adjust-process-windows): Skip the body
      if 'process-list' is not available.  This avoids failure to start
      up on MS-DOS.
      * lisp/vc/diff.el (diff-no-select): Test 'make-process', not
      'start-process', as the latter is now available on all platforms.
      * lisp/textmodes/ispell.el (ispell-async-processp): Replace
      'start-process' with 'make-process' in a comment.
      * lisp/term/internal.el (IT-unicode-translations): Modify and add
      a few translations to display Info files with Unicode markup.  Fix
      an ancient off-by-one mismatch error with Unicode codepoints.
      * lisp/progmodes/compile.el (compilation-start): Test
      'make-process', not 'start-process', as the latter is now
      available on all platforms.
      * lisp/man.el (Man-build-man-command, Man-getpage-in-background):
      Test 'make-process', not 'start-process', as the latter is now
      available on all platforms.
      * lisp/international/mule-cmds.el (set-coding-system-map): Test
      'make-process', not 'start-process', as the latter is now
      available on all platforms.
      * lisp/eshell/esh-cmd.el (eshell-do-pipelines-synchronously): Doc
      fix.
      (eshell-execute-pipeline): Test 'make-process', not
      'start-process', as the latter is now available on all platforms.
      ccdaf04c
  15. 27 Mar, 2016 1 commit
    • Paul Eggert's avatar
      Rename C names to match Lisp symbols better · f41f573e
      Paul Eggert authored
      This was inspired by commit e65c3079,
      which fixed a bug where the C name for a symbol disagreed with the
      symbol name itself.  Fix other instances of disagreements that I found.
      Although this doesn’t fix a bug, it should make code easier to follow.
      The remaining disagreements are idiosyncratic: Qminus, Qplus,
      Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
      All uses changed.
      * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
      * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
      (QCsession): Rename from QCdbus_session_bus.
      (QCtimeout): Rename from QCdbus_timeout.
      (QCbyte): Rename from QCdbus_type_byte.
      (QCboolean): Rename from QCdbus_type_boolean.
      (QCint16): Rename from QCdbus_type_int16.
      (QCuint16): Rename from QCdbus_type_uint16.
      (QCint32): Rename from QCdbus_type_int32.
      (QCuint32): Rename from QCdbus_type_uint32.
      (QCint64): Rename from QCdbus_type_int64.
      (QCuint64): Rename from QCdbus_type_uint64.
      (QCdouble): Rename from QCdbus_type_double.
      (QCstring): Rename from QCdbus_type_string.
      (QCobject_path): Rename from QCdbus_type_object_path.
      (QCsignature): Rename from QCdbus_type_signature.
      (QCunix_fd): Rename from QCdbus_type_unix_fd.
      (QCarray): Rename from QCdbus_type_array.
      (QCvariant): Rename from QCdbus_type_variant.
      (QCstruct): Rename from QCdbus_type_struct.
      (QCdict_entry): Rename from QCdbus_type_dict_entry.
      (QCserial): Rename from QCdbus_registered_serial.
      (QCmethod): Rename from QCdbus_registered_method.
      (QCsignal): Rename from QCdbus_registered_signal.
      * src/emacs-module.c (Qinternal__module_call):
      Rename from Qinternal_module_call.
      * src/frame.c (Qwindow__pixel_to_total):
      Rename from Qwindow_pixel_to_total.
      * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
      (QCpriority): Rename from QCgnutls_bootprop_priority.
      (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
      (QCkeylist): Rename from QCgnutls_bootprop_keylist.
      (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
      (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
      (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
      (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
      (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
      (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
      * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
      (Qgnutls): Rename from Qgnutls_dll.
      (Qlibxml2): Rename from Qlibxml2_dll.
      (Qzlib): Rename from Qzlib_dll.
      * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
      * src/window.c (Qwindow__resize_root_window):
      Rename from Qwindow_resize_root_window.
      (Qwindow__resize_root_window_vertically):
      Rename from Qwindow_resize_root_window_vertically.
      (Qwindow__sanitize_window_sizes):
      Rename from Qwindow_sanitize_window_sizes.
      (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
      * src/xdisp.c (Qredisplay_internal_xC_functionx):
      Rename from Qredisplay_internal.
      * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
      * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
      f41f573e
  16. 25 Mar, 2016 1 commit
    • Eli Zaretskii's avatar
      Fix splash screen display at startup · 326c64fc
      Eli Zaretskii authored
      * src/frame.c (DEFAULT_ROWS): Enlarge to 36, so that the initial
      window displayed by "emacs -q" has enough space to show the whole
      text even if it includes 2 lines talking about recovering crashes
      sessions.  (Bug#23074)
      
      * lisp/startup.el (use-fancy-splash-screens-p): Fix off-by-one
      error when computing the window-height from frame-height.
      
      * etc/NEWS: Mention the change.
      326c64fc
  17. 10 Mar, 2016 1 commit
    • Paul Eggert's avatar
      Rework C source files to avoid ^( · 7352c6c6
      Paul Eggert authored
      Work around Bug#22884 by rewording comments and strings to avoid ‘(’
      at the start of a line unless it starts a function.  This change
      is a short-term hack; in the longer run we plan to fix cc-mode’s
      performance for C files that have ‘(’ at the start of a line in a
      comment or string.
      7352c6c6
  18. 08 Mar, 2016 1 commit
    • Martin Rudalics's avatar
      Optionally reuse tooltip frames instead of deleting/recreating them. · 80864c2a
      Martin Rudalics authored
      * src/frame.c (tooltip_reuse_hidden_frame): New option.
      * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
      handling of dividers.
      (x_hide_tip): New function.
      (Fx_show_tip): Try to reuse old tooltip frame when
      `tooltip-reuse-hidden-frame' is non-nil and frame parameters
      have not changed.  Insert STRING here instead of passing it to
      x_create_tip_frame.  Compute size of tooltip window with
      Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
      padding tooltip window.
      (Fx_hide_tip): Call x_hide_tip.
      (Vw32_tooltip_extra_pixels): New variable.
      * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
      value.  Fix doc-string.
      * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
      make_frame with mini_p argument false.
      (x_hide_tip): New function.
      (Fx_show_tip): Try to reuse old tooltip frame when
      `tooltip-reuse-hidden-frame' is non-nil and frame parameters
      have not changed.  Insert STRING here instead of passing it to
      x_create_tip_frame.  Compute size of tooltip window with
      Fwindow_text_pixel_size.
      (Fx_hide_tip): Call x_hide_tip.
      * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
      customization entry.
      80864c2a
  19. 24 Feb, 2016 1 commit
  20. 23 Feb, 2016 1 commit
    • Martin Rudalics's avatar
      Fix `window-configuration-change-hook' and `window-size-change-functions' · 8e7712c7
      Martin Rudalics authored
      (1) Run `window-configuration-change-hook' if and only if at least
      one window was deleted or created or shows another buffer since
      last redisplay.
      
      (2) Run `window-size-change-functions' if and only if at least
      one window changed its size since last redisplay (in a few cases
      `window-size-change-functions' will also run when no window
      changed its size).
      
      (3) Provide two functions `window-pixel-height-before-size-change'
      and `window-pixel-width-before-size-change' that allow to easily
      detect which window changed size.
      
      * src/frame.h (struct frame): New boolean member
      window_configuration_changed.
      (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
      (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
      * src/frame.c (adjust_frame_size): Don't run
      `window-configuration-change-hook'.
      * src/window.h (struct window): New fields
      pixel_width_before_size_change and pixel_height_before_size_change.
      (WINDOW_INTERNAL_P): New macro.
      * src/window.c (Fwindow_pixel_width_before_size_change)
      (Fwindow_pixel_height_before_size_change): New functions.
      (Fdelete_other_windows_internal, Fwindow_resize_apply)
      (resize_frame_windows, Fsplit_window_internal)
      (Fdelete_window_internal, grow_mini_window)
      (shrink_mini_window, Fresize_mini_window_internal): Don't call
      FRAME_WINDOW_SIZES_CHANGED.
      (window_size_changed, window_set_before_size_change_sizes)
      (run_window_size_change_functions): New functions.
      (make_window): Initialize pixel_width_before_size_change and
      pixel_height_before_size_change.
      (Fdelete_window_internal): Don't call
      run_window_configuration_change_hook.
      (struct saved_window): Add pixel_height_before_size_change and
      pixel_width_before_size_change.
      (Fset_window_configuration): Try to identify window configuration
      changes correctly so run_window_configuration_change_hook and
      run_window_size_change_functions run only if configuration and size
      really changed.
      (save_window_save): Set the pixel_height_before_size_change and
      pixel_width_before_size_change fields.
      (Vwindow_size_change_functions): Move here definiton from xdisp.c.
      * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
      run_window_size_change_functions.
      (Vwindow_size_change_functions): Move definition to window.c.
      * src/xfns.c (x_set_menu_bar_lines): Don't call
      run_window_configuration_change_hook.
      * doc/lispref/windows.texi (Window Sizes): Document new
      functions `window-pixel-height-before-size-change' and
      `window-pixel-width-before-size-change'.
      (Window Configurations): Mention that this may trigger
      execution of `window-size-change-functions' although no window
      changed size.
      (Window Hooks): Update descriptions of `window-size-change-functions'
      and `window-configuration-change-hook'.
      8e7712c7
  21. 01 Jan, 2016 1 commit
  22. 11 Dec, 2015 1 commit
    • Eli Zaretskii's avatar
      Clarify documentation of 'modify-frame-parameters' · 1db9d8bd
      Eli Zaretskii authored
      * doc/lispref/frames.texi (Parameter Access): Clarify what "ignored
      PARMs" mean for 'modify-frame-parameters'.
      
      * src/frame.c (Fmodify_frame_parameters): Clarify what "ignored
      PARMs" mean for this function.  (Bug#22104)
      1db9d8bd
  23. 23 Nov, 2015 2 commits
  24. 17 Nov, 2015 1 commit
    • Paul Eggert's avatar
      Fix docstring quoting problems with ‘ '’ · ac16149b
      Paul Eggert authored
      Problem reported by Artur Malabarba in:
      http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
      Most of these fixes are to documentation; many involve fixing
      longstanding quoting glitches that are independent of the
      recent substitute-command-keys changes.  The changes to code are:
      * lisp/cedet/mode-local.el (mode-local-augment-function-help)
      (describe-mode-local-overload):
      Substitute docstrings before displaying them.
      * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
      Quote the generated docstring for later substitution.
      ac16149b
  25. 21 Oct, 2015 1 commit
    • Paul Eggert's avatar
      Include-file cleanup for src directory · 63cfb75f
      Paul Eggert authored
      Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707).
      In a few cases, add ‘#include "foo.h"’ if the file needs foo.h
      but does not include it directly.  As a general rule, a source
      file should include foo.h if it needs the interfaces that foo.h
      defines.
      * src/alloc.c: Don’t include process.h.  Include dispextern.h,
      systime.h.
      * src/atimer.c: Don’t include blockinput.h.
      * src/buffer.c: Include coding.h, systime.h.  Don’t include
      keyboard.h, coding.h.
      * src/callint.c: Don’t include commands.h, keymap.h.
      * src/callproc.c: Don’t include character.h, ccl.h, composite.h,
      systty.h, termhooks.h.
      * src/casetab.c: Don’t include character.h.
      * src/category.c: Don’t include charset.h, keymap.h.
      * src/ccl.h: Don’t include character.h.
      * src/character.c: Don’t include charset.h.
      * src/charset.c: Don’t include disptab.h.
      * src/chartab.c: Don’t include ccl.h.
      * src/cm.c: Don’t include frame.h, termhooks.h.
      * src/cmds.c: Don’t include window.h, dispextern.h.
      * src/coding.c: Don’t include window.h, frame.h.
      * src/composite.c: Include composite.h.  Don’t include window.h,
      font.h.
      * src/data.c: Don’t include syssignal.h, termhooks.h, font.h.
      * src/dbusbind.c: Don’t include frame.h.
      * src/decompress.c: Don’t include character.h.
      * src/dired.c: Don’t include character.h, commands.h, charset.h.
      * src/dispnew.c: Don’t include character.h, indent.h, intervals.h,
      process.h, timespec.h.  Include systime.h.
      * src/doc.c: Include coding.h.  Don’t include keyboard.h.
      * src/editfns.c: Include composite.h.  Don’t include frame.h.
      * src/emacs.c: Include fcntl.h, coding.h.  Don’t include
      commands.h, systty.h..
      * src/fileio.c: Don’t include intervals.h, dispextern.h.
      Include composite.h.
      * src/filelock.c: Don’t include character.h, systime.h.
      * src/fns.c: Don’t include time.h, commands.h, keyboard.h,
      keymap.h, frame.h, blockinput.h, xterm.h.  Include composite.h.
      * src/font.c: Include termhooks.h.
      * src/font.h: Don’t include ccl.h, frame.h.  Add forward decls of
      struct composition_it, struct face, struct glyph_string.
      * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h,
      intervals.h, window.h, termhooks.h.
      * src/frame.c: Don’t include character.h, commands.h, font.h.
      * src/frame.h: Don’t include dispextern.h.
      * src/fringe.c: Don’t include character.h.
      * src/ftcrfont.c: Don’t include dispextern.h, frame.h,
      character.h, charset.h, fontset.h.
      * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h,
      fontset.h.
      * src/ftxfont.c: Don’t include dispextern.h, character.h,
      charset.h, fontset.h.
      * src/gfilenotify.c: Don’t include frame.h, process.h.
      * src/gtkutil.c: Include dispextern.h, frame.h, systime.h.
      Don’t include syssignal.h, buffer.h, charset.h, font.h.
      * src/gtkutil.h: Don’t include frame.h.
      * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h.
      Don’t include character.h.
      * src/indent.c: Don’t include keyboard.h, termchar.h.
      * src/inotify.c: Don’t include character.h, frame.h.
      * src/insdel.c: Include composite.h.  Don’t include blockinput.h.
      * src/intervals.c: Don’t include character.h, keyboard.h.
      * src/intervals.h: Don’t include dispextern.h, composite.h.
      * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h.
      Include coding.h.
      * src/keyboard.h: Don’t incldue systime.h.
      * src/keymap.c: Don’t include charset.h, frame.h.
      * src/lread.c: Include dispextern.h and systime.h.
      Don’t include frame.h.  Include systime.h.
      * src/macros.c: Don’t include commands.h, character.h, buffer.h.
      * src/menu.c: Include character.h, coding.h.  Don’t include
      dispextern.h.
      * src/menu.h: Don’t include systime.h.
      * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h,
      intervals.h, termhooks.h.
      * src/print.c: Include coding.h.  Don’t include keyboard.h,
      window.h, dispextern.h, termchar.h, termhooks.h, font.h.
      Add forward decl of struct terminal.
      * src/process.c: Don’t include termhooks.h, commands.h,
      dispextern.h, composite.h.
      * src/region-cache.c: Don’t include character.h.
      * src/scroll.c: Don’t include keyboard.h, window.h.
      * src/search.c: Don’t include category.h, commands.h.
      * src/sound.c: Don’t include dispextern.h.
      * src/syntax.c: Don’t include command.h, keymap.h.
      * src/sysdep.c: Don’t include window.h, dispextern.h.
      * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’,
      * src/term.c: Don’t include systty.h, intervals.h, xterm.h.
      * src/terminal.c: Include character.h.
      Don’t include charset.h, coding.h.
      * src/textprop.c: Don’t include character.h.
      * src/undo.c: Don’t include character.h, commands.h, window.h.
      * src/unexsol.c: Don’t include character.h, charset.h.
      * src/widget.c: Include widget.h.  Don’t include keyboard.h,
      window.h, dispextern.h, blockinput.h, character.h, font.h.
      * src/widgetprv.h: Don’t include widget.h.
      * src/window.c: Don’t include character.h, menu.h, intervals.h.
      * src/xdisp.c: Include composite.h, systime.h.  Don’t include
      macros.h, process.h.
      * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h,
      intervals.h.
      * src/xfns.c: Don’t include menu.h, character.h, intervals.h,
      epaths.h, fontset.h, systime.h, atimer.h, termchar.h.
      * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h.
      * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h.
      * src/xgselect.c: Don’t include timespec.h, frame.h.
      Include systime.h.
      * src/xgselect.h: Don’t include time.h.
      Use a forward decl to struct timespec instead.
      * src/xmenu.c: Don’t include keymap.h, character.h, charset.h,
      dispextern.h.  Include systime.h.
      * src/xml.c: Don’t include character.h.
      * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h.
      * src/xselect.c: Don’t include dispextern.h, character.h,
      buffer.h, process.h.
      * src/xsmfns.c: Don’t include systime.h, sysselect.h.
      * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h,
      intervals.h process.h, keymap.h, xgselect.h.  Include composite.h.
      63cfb75f
  26. 17 Oct, 2015 1 commit
  27. 13 Oct, 2015 1 commit
    • Martin Rudalics's avatar
      Allow setting frame pixel sizes from frame parameters (Bug#21415) · d4fe840d
      Martin Rudalics authored
      Also fix some misfeatures in frame (re-)sizing code, add more
      debugging information and remove some dead code.
      
      * lisp/frame.el (frame-notice-user-settings, make-frame): Change
      parameter names when setting `frame-size-history'.
      (frame--size-history): New function.
      
      * src/frame.c (frame_inhibit_resize): If frame has not been made
      yet, return t if inhibit_horizontal_resize or
      inhibit_vertical_resize bit have been set.
      (adjust_frame_size): Simplify.
      (make_frame): Initialize inhibit_horizontal_resize,
      inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized.
      (Fframe_after_make_frame): Reset inhibit_horizontal_resize and
      inhibit_vertical_resize slots.
      (x_set_frame_parameters): Handle `text-pixels' specification for
      width and height parameters.  Don't consider new_height or
      new_width changes.  Call adjust_frame_size instead of
      Fset_frame_size.
      (x_figure_window_size): Two new arguments x_width and y_width
      returning frame's figures width and height.  Calculate tool bar
      height before frame sizes so SET_FRAME_HEIGHT can pick it up.
      Handle `text-pixels' specification for width and height
      parameters.
      (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size)
      (Qx_set_window_size_1, Qx_set_window_size_2)
      (Qx_set_window_size_3, Qx_set_menu_bar_lines)
      (Qupdate_frame_menubar, Qfree_frame_menubar_1)
      (Qfree_frame_menubar_2): New symbols.
      * src/frame.h (structure frame): New booleans
      tool_bar_redisplayed, tool_bar_resized,
      inhibit_horizontal_resize, inhibit_vertical_resize.
      (x_figure_window_size): Update external declaration.
      * src/gtkutil.c (xg_frame_set_char_size): Set size hints before
      calling gtk_window_resize.
      (update_frame_tool_bar): Make inhibiting of frame resizing more
      discriminative.  Set tool_bar_resized bit.
      * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame
      resizing more discriminative.  Call adjust_frame_size instead of
      x_set_window_size.
      (Fx_create_frame): Handle x_width and x_height if
      set by x_figure_window_size.
      * src/nsterm.m (x_set_window_size): For GNUSTEP build don't
      subtract 3 from tool bar height.
      (x_set_window_size): Add frame_size_history_add call.
      (x_new_font): Call adjust_frame_size instead of
      x_set_window_size.
      * src/w32fns.c (x_change_tool_bar_height): Reset
      tool_bar_redisplayed and tool_bar_resized bits when adding tool
      bar.  Make inhibiting of frame resizing more discriminative.
      (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case.
      (Fx_create_frame): Handle x_width and x_height if set by
      x_figure_window_size.  Set size hints before adjusting frame size.
      (x_create_tip_frame): Adjust x_figure_window_size call.
      * src/w32term.c (x_set_window_size): Add frame_size_history_add
      call.
      * src/widget.c (set_frame_size): Remove dead code.  Add
      frame_size_history_add call.  When frame_resize_pixelwise is t
      use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of
      pixel_width and pixel_height.
      (update_various_frame_slots): Remove dead code.
      (EmacsFrameResize): Add more information in
      frame_size_history_add call.
      (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise
      is not set.
      * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits.
      * src/xfns.c (x_set_menu_bar_lines): Change argument name.
      (x_change_tool_bar_height): Reset tool_bar_redisplayed and
      tool_bar_resized bits when adding tool bar.  Make inhibiting of
      frame resizing more discriminative.
      (Fx_create_frame): Handle x_width and x_height if set by
      x_figure_window_size.  Set size hints before adjusting frame size.
      (x_create_tip_frame): Adjust x_figure_window_size call.
      * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially.
      (set_frame_menubar): On Lucid never add core-border-width to
      avoid that adding XtNinternalBorderWidth adds it again.
      (free_frame_menubar): Handle frame_inhibit_resize true for Motif.
      * src/xterm.c (x_new_font): In non-toolkit case handle size
      change of menu bar.
      (x_set_window_size_1): Fix calls to frame_size_history_add.
      (x_wm_set_size_hint): Remove dead code.  Set
      size_hints.min_width and size_hints.min_height to base_width and
      base_height.
      d4fe840d
  28. 09 Oct, 2015 1 commit
  29. 30 Sep, 2015 1 commit
    • Stefan Monnier's avatar
      Try to avoid redisplaying all frames when creating a new one · 8b1df960
      Stefan Monnier authored
      * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height):
      * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
      (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter):
      * src/frame.c (x_set_screen_gamma): Set the specific frame's
      `redisplay' bit rather than windows_or_buffers_changed.
      
      * src/window.c (apply_window_adjustment): Remove redundant setting of
      windows_or_buffers_changed.
      
      * src/xdisp.c (redisplay_internal): Set the specific frame's
      `redisplay' bit rather than update_mode_lines in response to
      cursor_type_changed.
      (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables.
      (AINC): Adjust accordingly.
      8b1df960
  30. 26 Sep, 2015 1 commit
    • Eli Zaretskii's avatar
      Make face realization be more frame-specific · e573d08e
      Eli Zaretskii authored
      * src/frame.h (struct f): New flag face_change.
      * src/xfaces.c (Finternal_make_lisp_face)
      (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
      (update_face_from_frame_parameter): Set the face_change flag only
      for the frame whose faces are affected.
      * src/xdisp.c (init_iterator): If a frame's face_change flag is
      set, free faces only on that frame.
      (redisplay_internal): Disable "display optimization 1" if the
      frame's face_change flag is set.
      (redisplay_window): Don't allow skipping a window's redisplay if
      its frame's face_change flag is set.
      * src/frame.c (x_set_screen_gamma): Instead of calling
      Fclear_face_cache, call clear_face_cache and set
      windows_or_buffers_changed to a non-zero value.  This avoids
      setting the global face_change flag that triggers face realization
      on all frames and thorough redisplay of all of them.
      
      * lisp/term/tty-colors.el (tty-register-default-colors): Don't
      clear face cache if the selected frame is a GUI frame.
      e573d08e
  31. 16 Sep, 2015 2 commits
    • Paul Eggert's avatar
      Omit unnecessary \ before paren in C docstrings · 032ce1c7
      Paul Eggert authored
      Although \( is needed in docstrings in Elisp code, it is not needed in
      docstrings in C code, since C function definitiions do not start with
      a parenthesis.  The backslashes made the docstrings a bit harder to
      read and to format in columns.  Also, some C docstrings had ( in
      column 1 and this did not appear to be causing any problems.  So,
      simplify C docstrings by replacing \( with ( and \) with ).
      032ce1c7
    • Martin Rudalics's avatar
      Remove tool_bar_redisplayed_once and associated code. · 1636e8c7
      Martin Rudalics authored
      * src/frame.h (tool_bar_redisplayed_once): Remove slot.
      * src/frame.c (make_frame, x_set_font): Remove initialization of
      f->tool_bar_redisplayed_once.
      * src/w32fns.c (x_change_tool_bar_height):
      * src/xfns.c (x_change_tool_bar_height): Don't check for
      f->tool_bar_redisplayed_once.
      * src/xdisp.c (redisplay_internal): Remove handling of
      f->tool_bar_redisplayed_once.
      1636e8c7
  32. 01 Sep, 2015 1 commit
  33. 27 Aug, 2015 1 commit
    • Paul Eggert's avatar
      Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS · 60d1b187
      Paul Eggert authored
      This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
      http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
      * doc/lispref/internals.texi (Writing Emacs Primitives):
      * etc/NEWS:
      Document the change.
      * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
      (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
      (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
      * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
      * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
      * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
      (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
      (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
      (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
      (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
      Remove.  All uses removed.  The code now assumes
      GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
      * src/bytecode.c (relocate_byte_stack):
      Rename from unmark_byte_stack, since it now only relocates.
      All callers changed.
      * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
      with GCPROs removed.
      * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
      * test/automated/finalizer-tests.el (finalizer-basic)
      (finalizer-circular-reference, finalizer-cross-reference)
      (finalizer-error):
      * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
      Remove tests, as they depend on gc-precise.
      60d1b187
  34. 18 Aug, 2015 1 commit
    • Martin Rudalics's avatar
      Rewrite and add frame geometry related functions. · c29a51df
      Martin Rudalics authored
      * src/frame.c (Fframe_position): New function.
      (Fset_frame_position): Rename parameters and rewrite doc-string.
      (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
      Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
      Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
      Qtitle_bar_size.
      * src/nsfns.m (frame_geometry): New function.
      (Fx_frame_geometry): Call frame_geometry.
      (Fx_frame_edges): New function.
      * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
      (GetTitleBarInfo_Proc): Define these so we can use the
      GetTitleBarInfo API.
      (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
      (Fx_frame_geometry): Rewrite.
      (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
      (Fx_set_mouse_absolute_pixel_position): New functions.
      * src/xfns.c (frame_geometry): New function.
      (Fx_frame_geometry): Call frame_geometry.
      (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
      (Fx_set_mouse_absolute_pixel_position): New functions.
      c29a51df
  35. 01 Jul, 2015 1 commit
  36. 31 May, 2015 1 commit
    • Paul Eggert's avatar
      Remove unused DEFSYMs · 0c2a3cf6
      Paul Eggert authored
      Remove DEFSYMs that aren't used at the C level.  Also:
      * src/decompress.c (Qzlib_dll):
      * src/font.c (Qunicode_sip):
      * src/frame.c (Qtip_frame):
      * src/ftfont.c (Qserif):
      * src/gnutls.c (Qgnutls_dll):
      * src/xml.c (Qlibxml2_dll):
      Move from here ...
      * src/w32fns.c (syms_of_w32fns): ... to here,
      as these are used only on MS-Windows.
      0c2a3cf6