1. 02 Jun, 2013 1 commit
    • Jan Djärv's avatar
      Update the GNUStep port so it works OK. Redraw and sizing bugs remain. · c0342369
      Jan Djärv authored
      * nextstep/templates/Info-gnustep.plist.in: Add NSDocumentClass EmacsDocument.
      
      * src/nsfns.m (x_set_foreground_color, x_set_background_color): Use
      EmacsCGFloat.
      (ns_implicitly_set_icon_type, Fx_create_frame): Make static, remove
      unused variables.
      (Fns_read_file_name): Keep track if panel is for save.  Use
      ns_filename_from_panel/ns_directory_from_panel.
      (Fns_list_services): delegate only used for COCOA.
      (Fns_convert_utf8_nfd_to_nfc): Remove warning for GNUStep.  Just
      return the input if GNUStep.
      (x_screen_planes): Remove.
      (Fxw_color_values): Use EmacsCGFloat
      (Fns_display_monitor_attributes_list): Only get screen number for
      Cocoa.
      (getDirectory, getFilename): Removed from EmacsOpenPanel and
      EmacsSavePanel.
      (EmacsOpenPanel:ok:): Use ns_filename_from_panel and
      ns_directory_from_panel.
      
      * src/nsfont.m (ns_attribute_fvalue, ns_spec_to_descriptor)
      (ns_charset_covers, ns_get_covering_families, nsfont_open):
      Use F suffix on floats.
      (ns_char_width): Returns CGFloat.
      (ns_ascii_average_width): w is CGFloat instead of float.
      (nsfont_draw): cbuf and c are unsigned. Cast to char* in call to
      DPSxshow.
      (ns_glyph_metrics): CGFloat instead of float.
      
      * src/nsimage.m (setXBMColor:, getPixelAtX:Y:): Use EmacsCGFloat.
      
      * src/nsmenu.m (ns_update_menubar): Make static.
      (x_activate_menubar): Surround with ifdef NS_IMPL_COCOA
      (fillWithWidgetValue:): Add cast to SEL for setAction.
      (addSubmenuWithTitle:forFrame:): Add cast to SEL for action.
      (update_frame_tool_bar): Update code for GNUStep.
      (clearAll): New method.
      (addDisplayItemWithImage:idx:tag:helpText:enabled:): Handle new tag
      argument. Call insertItemWithItemIdentifier when NS_IMPL_GNUSTEP. Move
      identifierToItem setObject and activeIdentifiers addObject before
      call to insertItemWithItemIdentifier.
      (validateVisibleItems): Fix indentation.
      (toolbarAllowedItemIdentifiers:): Return activeIdentifiers.
      (initWithContentRect:styleMask:backing:defer:): Add ClosableWindow and
      UtilityWindow to aStyle, remove call to setStyleMask.
      
      * src/nsselect.m (ns_get_local_selection): Remove unused variable type.
      
      * src/nsterm.h (EmacsCGFloat): Typedef for OSX and GNUStep when the size
      of CGFloat differs.
      (EmacsApp): New variable nextappdefined.  Declare sendFromMainThread
      when NS_IMPL_GNUSTEP.
      (EmacsDocument): Declare when NS_IMPL_GNUSTEP.
      (EmacsView): Remove unlockFocusNeedsFlush, add windowDidMove.
      (EmacsToolbar): Add clearAll.  Add tag argument to
      addDisplayItemWithImage.
      (EmacsSavePanel, EmacsOpenPanel): Remove getFilename and getDirectory.
      
      * src/nsterm.m: Include src/process.h if NS_IMPL_GNUSTEP.
      (ns_menu_bar_is_hidden, menu_will_open_state): Define only if
      NS_IMPL_COCOA.
      (x_set_cursor_type): Remove declaration.
      (ns_update_begin): Only use r and bp if NS_IMPL_COCOA.
      (ns_update_end, ns_focus, ns_unfocus): Remove GNUStep specific code.
      (x_set_window_size): Remove 3 pixels from toolbar if NS_IMPL_GNUSTEP.
      (ns_get_color): Use F suffix on float.
      (ns_color_to_lisp, ns_query_color): Use EmacsCGFloat.
      (ns_get_rgb_color): Remove.
      (x_set_frame_alpha): Move view inside NS_IMPL_COCOA.
      (note_mouse_movement): x and y are CGFloat.
      (ns_draw_fringe_bitmap): Remove unused rowY.
      Change #if to COCOA && >= 10_6.
      (ns_draw_window_cursor): Remove unused overspill.
      (ns_draw_underwave): width and x are EamcsCGFloat.
      (ns_draw_box): thickness is CGFloat.
      (ns_dumpglyphs_image): Change #if to COCOA && >= 10_6.
      (ns_send_appdefined): When NS_IMPL_GNUSTEP, redirect to main thread
      if not in main thread.
      (ns_get_pending_menu_title, ns_check_menu_open)
      (ns_check_pending_open_menu): Put inside #if COCOA && >= 10_5.
      (ns_term_init): Call catch_child_signal if NS_IMPL_GNUSTEP && SIGCHLD.
      (sendFromMainThread:): New method.
      (changeFont:): size is CGFloat.
      (keyDown:): Check for Delete when NS_IMPL_GNUSTEP.
      Disable warning about permanent text.
      (characterIndexForPoint:): Adjust return type depending on GNUStep
      version.
      (mouseDown:): delta is CGFloat.
      (updateFrameSize): Remove unised variable f.
      (initFrameFromEmacs): Move toggleButton inside NS_IMPL_COCOA.
      Cast float to EmacsCGFloat.
      (windowWillUseStandardFrame:defaultFrame:): Set maximized_height
      also to -1 when restoring.
      (windowDidExitFullScreen:): Put call to updateCollectionBehaviour
      inside NS_IMPL_COCOA.
      (toggleFullScreen:): Put call to toggleFullScreen inside
      NS_IMPL_COCOA.  Cast float to EmacsCGFloat.
      (setPosition:portion:whole:): por is CGFloat.
      (getMouseMotionPart:window:x:y:): Add F suffix to float.
      (mouseDown:): Use CGFloat.
      (mouseDragged:): Remove unised variable edge.
      (EmacsDocument): Implement for NS_IMPL_GNUSTEP.
      
      * src/process.c (catch_child_signal): New function.
      (init_process_emacs): Call it.
      
      * src/process.h (catch_child_signal): Declare.
      c0342369
  2. 25 May, 2013 1 commit
    • Jan Djärv's avatar
      Factor out common code for multimonitors, for Gtk+, non-Gtk+ X11 and NS. · 6799bb26
      Jan Djärv authored
      * frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): New
      Lisp_Object:s.
      (free_monitors, make_monitor_attribute_list): New functions.
      (syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes,
      Qsource.
      
      * frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
      (struct MonitorInfo): New struct.
      (free_monitors, make_monitor_attribute_list): Declare.
      
      * nsfns.m (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
      (struct MonitorInfo, free_monitors): Remove.
      (ns_screen_name): Make static.
      (ns_make_monitor_attribute_list): Call make_monitor_attribute_list.
      (syms_of_nsfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
      Qframes, Qsource.
      
      * xfns.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
      (struct MonitorInfo, free_monitors): Remove.
      (x_make_monitor_attribute_list): Call make_monitor_attribute_list.
      (Fx_display_monitor_attributes_list): Call make_monitor_attribute_list.
      (syms_of_xfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
      Qframes, Qsource.
      6799bb26
  3. 20 May, 2013 1 commit
  4. 09 May, 2013 1 commit
    • Jan Djärv's avatar
      Implement display-monitor-attributes-list for NS. · 4465bfb4
      Jan Djärv authored
      * lisp/frame.el (display-monitor-attributes-list): Add NS case.
      (ns-display-monitor-attributes-list): Declare.
      
      * src/nsfns.m: Include IOGraphicsLib.h if Cocoa.
      (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
      (MonitorInfo): New struct.
      (free_monitors, ns_screen_name, ns_make_monitor_attribute_list)
      (Fns_display_monitor_attributes_list): New functions.
      (display-usable-bounds): Remove.
      (syms_of_nsfns): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes and
      Qsource.
      4465bfb4
  5. 05 May, 2013 1 commit
  6. 01 May, 2013 1 commit
  7. 28 Apr, 2013 1 commit
    • Jan Djärv's avatar
      * nsfns.m (handlePanelKeys): New function. · edbdcec0
      Jan Djärv authored
      (EmacsOpenPanel:performKeyEquivalent:)
      (EmacsSavePanel:performKeyEquivalent:): Call handlePanelKeys to handle
      arrows/function/control and copy/paste keys.
      
      Fixes: debbugs:14296
      edbdcec0
  8. 07 Apr, 2013 1 commit
    • Dmitry Antipov's avatar
      Get rid of some platform-specific functions examining window · 7452b7bd
      Dmitry Antipov authored
      system and its capabilities.  This is a partial rework of the
      2013-04-05 change.
      * lisp.h (have_menus_p): Remove prototype.  This function is
      replaced with platform-independent window_system_available.
      (check_window_system): Move to...
      * frame.h (decode_window_system_frame, window_system_available):
      ...here, add new prototypes.
      * frame.c (window_system_available, decode_window_system_frame):
      New functions.
      (check_window_system): Platform-independent now.
      * xterm.h (x_in_use): Remove declaration.
      (check_x_frame):
      * w32term.h (check_x_frame):
      * nsterm.h (check_x_frame): Remove prototypes.  This function
      is replaced with platform-independent decode_window_system_frame.
      * msdos.c (have_menus_p): Remove.
      * nsfns.m (check_window_system, have_menus_p, check_ns_frame):
      Remove platform-specific functions.  Use check_window_system,
      decode_window_system_frame and check_ns_display_info where
      appropriate.  Minor style and comment tweaks.
      * w32fns.c (w32_in_use, check_window_system, have_menus_p)
      (check_x_frame): Likewise.
      * xfns.c (x_in_use, check_window_system, have_menus_p, check_x_frame):
      Likewise.
      * fileio.c, fns.c, font.c, fontset.c, image.c, menu.c, nsmenu.m:
      * nsselect.m, nsterm.m, w32font.c, w32menu.c, xfaces.c, xgselect.c:
      * xmenu.c, xselect.c: All related users changed.
      7452b7bd
  9. 05 Apr, 2013 1 commit
    • Dmitry Antipov's avatar
      Consistently use platform-specific function to detect window system. · 73931ad1
      Dmitry Antipov authored
      * lisp.h (check_window_system): New prototype.  This function is
      going to replace check_x, check_w32 and check_ns.
      (have_menus_p): Mention msdos.c in comment.
      * fontset.c (check_window_system_func): Remove.  Adjust all users.
      * fontset.h (check_window_system_func): Remove prototype.
      * nsterm.h (check_ns):
      * xterm.h (check_x):
      * w32term.h (check_w32): Likewise.
      * menu.c (Fx_popup_menu): Use check_window_system.
      * msdos.c (check_window_system): Define for MS-DOS.
      * nsfns.m (check_window_system): Define for NS.  Adjust all users.
      * w32fns.c (check_window_system): Likewise for MS-Windows.
      * xfns.c (check_window_system): Likewise for X.
      * font.c, frame.c, nsmenu.m, nsselect.m, nsterm.m, w32menu.c:
      * xfaces.c, xmenu.c: Use check_window_system where appropriate.
      73931ad1
  10. 28 Mar, 2013 1 commit
    • Dmitry Antipov's avatar
      * window.h (struct window): Replace hchild, vchild and buffer slots · e74aeda8
      Dmitry Antipov authored
      with the only contents slot.  This is possible because each valid
      window may have either the child window (in vertical or horizontal
      combination) or buffer to display (for the leaf window).  Using that,
      a lof of operations to traverse and/or change window hierarchies may
      be simplified.  New member horizontal is used to distinguish between
      horizontal and vertical combinations of internal windows.
      (WINDOW_LEAF_P, WINDOW_HORIZONTAL_COMBINATION_P)
      (WINDOW_VERTICAL_COMBINATION_P): New macros.
      (WINDOW_VALID_P, WINDOW_LIVE_P): Adjust to match struct window changes.
      * window.c (wset_hchild, wset_vchild): Remove.  Adjust all users.
      Use contents slot, not buffer, where appropriate.
      (wset_combination): New function.
      (wset_buffer): Add eassert.
      (Fframe_first_window): Simplify the loop reaching first window.
      (Fwindow_buffer): Use WINDOW_LEAF_P.
      (Fwindow_top_child): Use WINDOW_VERTICAL_COMBINATION_P.
      (Fwindow_left_child): Use WINDOW_HORIZONTAL_COMBINATION_P.
      (unshow_buffer): Convert initial debugging check to eassert.
      (replace_window, recombine_windows, Fdelete_other_windows_internal)
      (make_parent_window, window_resize_check, window_resize_apply)
      (resize_frame_windows, Fsplit_window_internal, Fdelete_window_internal)
      (Fset_window_configuration, delete_all_child_windows, save_window_save):
      Adjust to match struct window changes.
      (window_loop): Check for broken markers in CHECK_ALL_WINDOWS.
      (mark_window_cursors_off, count_windows, get_leaf_windows)
      (foreach_window_1): Simplify the loop.
      * alloc.c (mark_object): Do not check for the leaf window because
      internal windows has no glyph matrices anyway.
      * dispnew.c (clear_window_matrices, showing_window_margins_p)
      (allocate_matrices_for_window_redisplay, fake_current_matrices)
      (allocate_matrices_for_frame_redisplay, free_window_matrices)
      (build_frame_matrix_from_window_tree, mirror_make_current)
      (frame_row_to_window, mirror_line_dance, check_window_matrix_pointers)
      (update_window_tree, set_window_update_flags): Simplify the loop.
      (sync_window_with_frame_matrix_rows): Enforce live window.
      Use contents slot, not buffer, where appropriate.
      * frame.c (set_menu_bar_lines_1): Use WINDOW_VERTICAL_COMBINATION_P
      and WINDOW_HORIZONTAL_COMBINATION_P.
      (make_frame_visible_1): Simplify the loop.
      Use contents slot, not buffer, where appropriate.
      * xdisp.c (hscroll_window_tree, mark_window_display_accurate)
      (redisplay_windows, redisplay_mode_lines, update_cursor_in_window_tree)
      (expose_window_tree): Likewise.
      Use contents slot, not buffer, where appropriate.
      * textprop.c (get_char_property_and_overlay): Add CHECK_LIVE_WINDOW
      to avoid deleted windows.  Use contents slot instead of buffer.
      * buffer.c, dispextern.h, editfns.c, fileio.c, font.c, fringe.c:
      * indent.c, insdel.c, keyboard.c, keymap.c, minibuf.c, msdos.c:
      * nsfns.m, nsmenu.m, nsterm.m, print.c, w32fns.c, w32menu.c, xfaces.c:
      * xfns.c, xmenu.c: Use contents slot, not buffer, where appropriate.
      e74aeda8
  11. 20 Mar, 2013 1 commit
    • Dmitry Antipov's avatar
      * frame.h (struct frame): Drop resx and resy because the same data is · 42143acd
      Dmitry Antipov authored
      available from window system-specific output context.  Adjust users.
      (default_pixesls_per_inch_x, default_pixesls_per_inch_y): New
      functions to provide defaults when no window system available.
      (FRAME_RES_X, FRAME_RES_Y): New macros.
      (NUMVAL): Moved from xdisp.c.
      * font.c (font_pixel_size, font_find_for_lface, font_open_for_lface)
      (Ffont_face_attributes, Fopen_font):
      * image.c (gs_load):
      * w32font.c (fill_in_logfont):
      * xdisp.c (calc_pixel_width_or_height):
      * xfaces.c (Fx_family_fonts, set_lface_from_font): Use them.
      * xsettings.c (apply_xft_settings): Drop frame loop and adjust comment.
      42143acd
  12. 16 Mar, 2013 1 commit
    • Jan Djärv's avatar
      * nsfns.m (ns_filename_from_panel, ns_directory_from_panel): New · 8f2906f5
      Jan Djärv authored
      functions.
      (Fns_read_file_name): ret is BOOL.  If ! dir_only_p, don't choose
      directories.  If filename is nil, get directory name.
      Use getFilename and getDirectory.
      (getFilename, getDirectory): New methods for EmacsSavePanel and
      EmacsOpenPanel.
      (ok:): In EmacsOpenPanel, if we can't choose directories, just return.
      
      * nsterm.h (EmacsSavePanel, EmacsOpenPanel): Add getFilename
      and getDirectory.
      
      Fixes: debbugs:13932
      8f2906f5
  13. 07 Mar, 2013 1 commit
    • Dmitry Antipov's avatar
      * lisp.h (list2i, list3i): New functions. · 3de717bd
      Dmitry Antipov authored
      (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.
      3de717bd
  14. 09 Jan, 2013 1 commit
    • Paul Eggert's avatar
      Spelling fixes. · 677d5c92
      Paul Eggert authored
      * lisp/net/tramp-adb.el (tramp-adb-get-toolbox):
      Fix misspelling of 'unknown'.
      677d5c92
  15. 01 Jan, 2013 1 commit
  16. 23 Dec, 2012 1 commit
  17. 06 Dec, 2012 1 commit
    • Dmitry Antipov's avatar
      * frame.h (x_char_width, x_char_height): Remove prototypes. · 1700db3c
      Dmitry Antipov authored
      * w32term.h (x_char_width, x_char_height): Likewise.
      * xfns.c (x_char_width, x_char_height): Remove.
      * w32fns.c (x_char_width, x_char_height): Likewise.
      * nsfns.c (x_char_width, x_char_height): Likewise.
      * frame.c (Fframe_char_width): Use FRAME_COLUMN_WIDTH for
      all window frames.
      (Fframe_char_height): Likewise with FRAME_LINE_HEIGHT.
      * keyboard.c (command_loop_1): Remove prototype.
      (command_loop_2, top_level_1): Add static to match prototype.
      1700db3c
  18. 03 Nov, 2012 1 commit
  19. 07 Oct, 2012 2 commits
    • Jan Djärv's avatar
      Check for OSX >= 10.4 to match what the maunal says and what we actually support. · 335f5ae4
      Jan Djärv authored
      * configure.ac: Check that OSX is 10.4 or newer.
      
      * etc/NEWS (NextStep/OSX port changes): OSX 10.4 or newer is required.
      
      * src/nsfns.m (Fns_list_services): Remove comment and check for OSX < 10.4.
      (ns_do_applescript): Remove check for >= MAC_OS_X_VERSION_10_4.
      
      * src/nsimage.m (setPixmapData, getPixelAtX, setAlphaAtX): Remove onTiger.
      
      * src/nsmenu.m (fillWithWidgetValue:): Remove code for < MAC_OS_X_VERSION_10_2.
      
      * src/nsselect.m (ns_string_from_pasteboard): Remove check for >=
      MAC_OS_X_VERSION_10_4.
      
      * src/nsterm.h (MAC_OS_X_VERSION_10_3, onTiger): Remove.
      (EmacsApp): Remove check for >= MAC_OS_X_VERSION_10_4.
      (struct nsfont_info): Remove check for >= MAC_OS_X_VERSION_10_3.
      335f5ae4
    • Jan Djärv's avatar
      * nsfns.m (ns_in_resize): Remove. · 3bc0a2f7
      Jan Djärv authored
      (x_set_icon_name, ns_set_name, ns_set_name_as_filename):  Remove ns_in_resize
      check.
      
      * nsterm.m (ns_in_resize): Remove.
      (ns_resize_handle_rect, mouseDown, mouseUp, mouseDragged): Remove.
      (ns_clear_frame, sendEvent, windowDidResize, drawRect:): Remove ns_in_resize
      check.
      (ns_clear_frame_area): Remove resize handle code.
      
      Fixes: debbugs:12479
      3bc0a2f7
  20. 06 Oct, 2012 1 commit
    • Jan Djärv's avatar
      Handle fullscreen parameter in initial/defult-frame-alist for NS. · 04fafa46
      Jan Djärv authored
      * nsfns.m (Fx_create_frame): Call x_default_parameter with
      fullscreen/Fullscreen.
      
      * nsterm.h (EmacsView): Rename tbar_height to tibar_height.
      tobar_height is new.
      
      * nsterm.m (x_make_frame_visible): Check for fullscreen.
      (ns_fullscreen_hook): Activate old style fullscreen with a timer.
      (ns_term_init): Set activateIgnoringOtherApps if old style fullscreen.
      (windowDidResize:): Check for correct window if old style fullscreen.
      Capitalize word in comment.  Remove incorrect comment.
      (initFrameFromEmacs:): tbar_height renamed tibar_height.
      (windowDidEnterFullScreen:): Toggle toolbar for fullscreen to fix
      error in drawing background.
      (toggleFullScreen:): Remove comment. Rearrange calls.
      Set toolbar values to zero, save old height in tobar_height.
      Restore tool bar height when leaving fullscreen.
      (canBecomeMainWindow): New function.
      04fafa46
  21. 30 Sep, 2012 2 commits
    • Jan Djärv's avatar
      Support file name dialog on NS. · d7e642cc
      Jan Djärv authored
      * etc/NEWS: Mention that the file dialog is used on NS.
      
      * lisp/term/ns-win.el (x-file-dialog): New function.
      
      * src/fileio.c (Fnext_read_file_uses_dialog_p): Add HAVE_NS.
      
      * src/nsfns.m (ns_frame_parm_handlers): Add x_set_fullscreen.
      
      * src/nsfns.m (Fns_read_file_name): Add argument DIR_ONLY_P.
      Initialize panel name field if OSX >= 10.6.
      
      * src/w32fns.c (Fx_file_dialog): Update comment.
      
      * src/xfns.c (Fx_file_dialog): Update comment.
      d7e642cc
    • Jan Djärv's avatar
      Add support for fullscreen in the NS port. · dd946752
      Jan Djärv authored
      * etc/NEWS: The NS port supports fullscreen.
      
      * src/nsfns.m (ns_frame_parm_handlers): Add x_set_fullscreen.
      
      * src/nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New.
      (EmacsView): Add variables for fullscreen.
      (handleFS, setFSValue, toggleFullScreen): New in EmacsView.
      (EmacsFSWindow): New interface for fullscreen.
      
      * src/nsterm.m (NEW_STYLE_FS): New define.
      (ns_fullscreen_hook, windowWillEnterFullScreen)
      (windowDidEnterFullScreen, windowWillExitFullScreen)
      (windowDidExitFullScreen, toggleFullScreen, handleFS)
      (setFSValue): New functions.
      (EmacsFSWindow): New implementation.
      (canBecomeKeyWindow): New function for EmacsFSWindow.
      (ns_create_terminal): Set fullscreen_hook to ns_fullscreen_hook.
      (dealloc): Release nonfs_window if in fullscreen.
      (updateFrameSize:): Call windowDidMove to update top/left.
      (windowWillResize:toSize:): Check if frame is still maximized.
      (initFrameFromEmacs:): Initialize fs_state, fs_before_fs,
      next_maximized, maximized_width, maximized_height and nonfs_window.
      Call setCollectionBehavior if NEW_STYLE_FS.  Initialize bwidth and
      tbar_height.
      (windowWillUseStandardFrame:defaultFrame:): Update frame parameter
      fullscreen. Set maximized_width/height.  Act on next_maximized.
      dd946752
  22. 23 Sep, 2012 1 commit
    • Paul Eggert's avatar
      Simplify and avoid signal-handling races. · 4d7e6e51
      Paul Eggert authored
      * nt/inc/ms-w32.h (emacs_raise): New macro.
      * src/alloc.c (die):
      * src/sysdep.c (emacs_abort) [HAVE_NTGUI]:
      Avoid recursive loop if there's a fatal error in the function itself.
      * src/atimer.c (pending_atimers):
      * src/blockinput.h: Don't include "atimer.h"; no longer needed.
      (interrupt_input_pending): Remove.  All uses removed.
      pending_signals now counts both atimers and ordinary interrupts.
      This is less racy than having three separate pending-signal flags.
      (block_input, unblock_input, totally_unblock_input, unblock_input_to)
      (input_blocked_p):
      Rename from their upper-case counterparts BLOCK_INPUT,
      UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT, UNBLOCK_INPUT_TO,
      INPUT_BLOCKED_P, and turn into functions.  All uses changed.
      This makes it easier to access volatile variables more accurately.
      (BLOCK_INPUT_RESIGNAL): Remove.  All uses replaced by unblock_input ().
      (input_blocked_p): Prefer this to 'interrupt_input_blocked', as
      that's more reliable if the code is buggy and sets
      interrupt_input_blocked to a negative value.  All uses changed.
      * src/atimer.c (deliver_alarm_signal):
      Remove.  No need to deliver this to the parent; any thread can
      handle this signal now.  All uses replaced by underlying handler.
      * src/atimer.c (turn_on_atimers):
      * src/dispnew.c (handle_window_change_signal):
      * src/emacs.c (handle_danger_signal):
      * src/keyboard.c (kbd_buffer_get_event):
      Don't reestablish signal handler; not needed with sigaction.
      * src/blockinput.h (UNBLOCK_INPUT_TO, TOTALLY_UNBLOCK_INPUT)
      (UNBLOCK_INPUT_TO):
      Rework to avoid unnecessary accesses to volatile variables.
      (UNBLOCK_INPUT_TO): Now a function.
      (totally_unblock_input, unblock_input): New decls.
      * src/data.c (handle_arith_signal, deliver_arith_signal): Move to sysdep.c
      (init_data): Remove.  Necessary stuff now done in init_signal.
      * src/emacs.c, src/xdisp.c: Include "atimer.h", since we invoke atimer functions.
      * src/emacs.c (handle_fatal_signal, deliver_fatal_signal): Move to sysdep.c.
      (fatal_error_code): Remove; no longer needed.
      (terminate_due_to_signal): Rename from fatal_error_backtrace, since
      it doesn't always backtrace.  All uses changed.  No need to reset
      signal to default, since sigaction and/or die does that for us now.
      Use emacs_raise (FOO), not kill (getpid (), FOO).
      (main): Check more-accurately whether we're dumping.
      Move fatal-error setup to sysdep.c
      * src/floatfns.c: Do not include "syssignal.h"; no longer needed.
      * src/gtkutil.c (xg_get_file_name, xg_get_font):
      Remove no-longer-needed signal-mask manipulation.
      * src/keyboard.c, src/process.c (POLL_FOR_INPUT):
      Don't depend on USE_ASYNC_EVENTS, a symbol that is never defined.
      * src/keyboard.c (read_avail_input): Remove.
      All uses replaced by gobble_input.
      (Ftop_level): Use TOTALLY_UNBLOCK_INPUT rather than open code.
      (kbd_buffer_store_event_hold, gobble_input):
      (record_asynch_buffer_change) [USABLE_SIGIO]:
      (store_user_signal_events):
      No need to mess with signal mask.
      (gobble_input): If blocking input and there are terminals, simply
      set pending_signals to 1 and return.  All hooks changed to not
      worry about whether input is blocked.
      (process_pending_signals): Clear pending_signals before processing
      them, in case a signal comes in while we're processing.
      By convention callers now test pending_signals before calling us.
      (UNBLOCK_INPUT_TO, unblock_input, totally_unblock_input):
      New functions, to support changes to blockinput.h.
      (handle_input_available_signal): Now extern.
      (reinvoke_input_signal): Remove.  All uses replaced by
      handle_async_input.
      (quit_count): Now volatile, since a signal handler uses it.
      (handle_interrupt): Now takes bool IN_SIGNAL_HANDLER as arg.  All
      callers changed.  Block SIGINT only if not already blocked.
      Clear sigmask reliably, even if Fsignal returns, which it can.
      Omit unnecessary accesses to volatile var.
      (quit_throw_to_read_char): No need to restore sigmask.
      * src/keyboard.c (gobble_input, handle_user_signal):
      * src/process.c (wait_reading_process_output):
      Call signal-handling code rather than killing ourselves.
      * src/lisp.h: Include <float.h>, for...
      (IEEE_FLOATING_POINT): New macro, moved here to avoid duplication.
      (pending_signals): Now volatile.
      (syms_of_data): Now const if IEEE floating point.
      (handle_input_available_signal) [USABLE_SIGIO]:
      (terminate_due_to_signal, record_child_status_change): New decls.
      * src/process.c (create_process): Avoid disaster if memory is exhausted
      while we're processing a vfork, by tightening the critical section
      around the vfork.
      (send_process_frame, process_sent_to, handle_pipe_signal)
      (deliver_pipe_signal): Remove.  No longer needed, as Emacs now
      ignores SIGPIPE.
      (send_process): No need for setjmp/longjmp any more, since the
      SIGPIPE stuff is now gone.  Instead, report an error if errno
      is EPIPE.
      (record_child_status_change): Now extern.  PID and W are now args.
      Return void, not bool.  All callers changed.
      * src/sysdep.c (wait_debugging) [(BSD_SYSTEM || HPUX) && !defined (__GNU__)]:
      Remove.  All uses removed.  This bug should be fixed now in a
      different way.
      (wait_for_termination_1): Use waitpid rather than sigsuspend,
      and record the child status change directly.  This avoids the
      need to futz with the signal mask.
      (process_fatal_action): Move here from emacs.c.
      (emacs_sigaction_flags): New function, containing
      much of what used to be in emacs_sigaction_init.
      (emacs_sigaction_init): Use it.  Block nonfatal system signals that are
      caught by emacs, to make races less likely.
      (deliver_process_signal): Rename from handle_on_main_thread.
      All uses changed.
      (BACKTRACE_LIMIT_MAX): Now at top level.
      (thread_backtrace_buffer, threadback_backtrace_pointers):
      New static vars.
      (deliver_thread_signal, deliver_fatal_thread_signal):
      New functions, for more-accurate delivery of thread-specific signals.
      (handle_fatal_signal, deliver_fatal_signal): Move here from emacs.c.
      (deliver_arith_signal): Handle in this thread, not
      in the main thread, since it's triggered by this thread.
      (maybe_fatal_sig): New function.
      (init_signals): New arg DUMPING so that we can be more accurate
      about whether we're dumping.  Caller changed.
      Treat thread-specific signals differently from process-general signals.
      Block all signals while handling fatal error; that's safer.
      xsignal from SIGFPE only on non-IEEE hosts, treating it as fatal
      on IEEE hosts.
      When batch, ignore SIGHUP, SIGINT, SIGTERM if they were already ignored.
      Ignore SIGPIPE unless batch.
      (emacs_backtrace): Output backtrace for the appropriate thread,
      which is not necessarily the main thread.
      * src/syssignal.h: Include <stdbool.h>.
      (emacs_raise): New macro.
      * src/xterm.c (x_connection_signal): Remove; no longer needed
      now that we use sigaction.
      (x_connection_closed): No need to mess with sigmask now.
      (x_initialize): No need to reset SIGPIPE handler here, since
      init_signals does this for us now.
      
      Fixes: debbugs:12471
      4d7e6e51
  23. 19 Sep, 2012 1 commit
    • Jan Djärv's avatar
      * lisp/startup.el (command-line-ns-option-alist): Add -g and --geometry. · e543ae91
      Jan Djärv authored
      * src/frame.c (read_integer, XParseGeometry): Moved from w32xfns.c.
      (Fx_parse_geometry): If there is a space in string, call
      Qns_parse_geometry, otherwise do as on other terms.
      
      * src/w32xfns.c (read_integer, XParseGeometry): Move to frame.c.
      
      * src/nsfns.m (XParseGeometry): Remove.
      (Fx_create_frame): Call x_set_offset to correctly interpret
      top_pos in geometry.
      
      Fixes: debbugs:12368
      e543ae91
  24. 16 Sep, 2012 1 commit
  25. 15 Sep, 2012 1 commit
    • Paul Eggert's avatar
      Port better to POSIX hosts lacking _setjmp. · 0328b6de
      Paul Eggert authored
      * configure.ac (HAVE__SETJMP, HAVE_SIGSETJMP): New symbols.
      (_setjmp, _longjmp): Remove.
      * src/lisp.h: Include <setjmp.h> here, since we use its symbols here.
      All instances of '#include <setjmp.h>' removed, if the
      only reason for the instance was because "lisp.h" was included.
      (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols.
      Unless otherwise specified, replace all uses of jmp_buf, _setjmp,
      and _longjmp with the new symbols.  Emacs already uses _setjmp if
      available, so this change affects only POSIXish hosts that have
      sigsetjmp but not _setjmp, such as some versions of Solaris and
      Unixware.  (Also, POSIX-2008 marks _setjmp as obsolescent.)
      * src/image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros.
      (png_load_body) [HAVE_PNG]:
      (PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]:
      (PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]:
      Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp,
      since PNG requires jmp_buf.  This is the only exception to the
      general rule that we now use sys_setjmp and sys_longjmp.
      This exception is OK since this code does not change the signal
      mask or longjmp out of a signal handler.
      
      Fixes: debbugs:12446
      0328b6de
  26. 07 Sep, 2012 1 commit
    • Paul Eggert's avatar
      Signal-handler cleanup. · 2fe28299
      Paul Eggert authored
      Emacs's signal handlers were written in the old 4.2BSD style with
      sigblock and sigmask and so forth, and this led to some
      inefficiencies and confusion.  Rewrite these to use
      pthread_sigmask etc. without copying signal sets around.  Also,
      get rid of the confusing macros 'SIGNAL_THREAD_CHECK' and
      'signal', and instead use functions that do not attempt to take
      over the system name space.  This patch causes Emacs's text
      segment to shrink by 0.7% on my platform, Fedora 17 x86-64.
      * configure.ac (PTY_OPEN, PTY_TTY_NAME_SPRINTF):
      Adjust to syssignal.h changes.
      (SIGNAL_H_AB): Remove; no longer needed.
      * src/alloc.c, src/emacsgtkfixed.c, src/nsfns.m, src/widget.c, src/xmenu.c:
      Do not include <signal.h> or "syssignal.h", as these
      modules do not use signals.
      * src/atimer.c, src/callproc.c, src/data.c, src/dispnew.c, src/emacs.c:
      * src/floatfns.c, src/gtkutil.c, src/keyboard.c, src/process.c, src/sound.c:
      * src/sysdep.c, src/term.c, src/xterm.c:
      Do not include <signal.h>, as "syssignal.h" does that for us now.
      * src/atimer.c (sigmask_atimers): New function.
      (block_atimers, unblock_atimers): New functions,
      replacing the old macros BLOCK_ATIMERS and UNBLOCK_ATIMERS.
      All uses replaced.
      * src/conf_post.h [SIGNAL_H_AHB]: Do not include <signal.h>;
      no longer needed here.
      * src/emacs.c (main): Inspect existing signal handler with sigaction,
      so that there's	no need to block and unblock SIGHUP.
      * src/sysdep.c (struct save_signal): New member 'action', replacing
      old member 'handler'.
      (save_signal_handlers, restore_signal_handlers):
      Use sigaction instead of 'signal' to save and restore.
      (get_set_sighandler, set_sighandler) [!WINDOWSNT]:
      New function.  All users of 'signal' modified to use set_sighandler
      if they're writeonly, and to use sys_signal if they're read+write.
      (emacs_sigaction_init, forwarded_signal): New functions.
      (sys_signal): Remove.  All uses replaced by calls to sigaction
      and emacs_sigaction_init, or by direct calls to 'signal'.
      (sys_sigmask) [!__GNUC__]: Remove; no longer needed.
      (sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove;
      all uses replaced by pthread_sigmask etc. calls.
      * src/syssignal.h: Include <signal.h>.
      (emacs_sigaction_init, forwarded_signal): New decls.
      (SIGMASKTYPE): Remove.  All uses replaced by its definiens, sigset_t.
      (SIGEMPTYMASK): Remove; all uses replaced by its definiens, empty_mask.
      (sigmask, sys_sigmask): Remove; no longer needed.
      (sigpause): Remove.  All uses replaced by its definiens, sigsuspend.
      (sigblock, sigunblock, sigfree):
      (sigsetmask) [!defined sigsetmask]:
      Remove.  All uses replaced by pthread_sigmask.
      (signal): Remove.  Its remaining uses (with SIG_DFL and SIG_IGN)
      no longer need to be replaced, and its typical old uses
      are now done via emacs_sigaction_init and sigaction.
      (sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove decls.
      (sys_sigdel): Remove; unused.
      (NSIG): Remove a FIXME; the code's fine.  Remove an unnecessary ifdef.
      
      Fixes: debbugs:12327
      2fe28299
  27. 17 Aug, 2012 2 commits
    • Paul Eggert's avatar
      * keyboard.h (KSET): Remove. · 15dbb4d6
      Paul Eggert authored
      Replace all uses with calls to new setter functions.
      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
      (KEYBOARD_INLINE): New macro.
      (kset_default_minibuffer_frame, kset_defining_kbd_macro)
      (kset_input_decode_map, kset_last_command, kset_last_kbd_macro)
      (kset_prefix_arg, kset_system_key_alist, kset_window_system):
      New setter functions.
      * keyboard.c (KEYBOARD_INLINE):
      Define to EXTERN_INLINE, so that the corresponding functions
      are compiled into code.
      (kset_echo_string, kset_kbd_queue)
      (kset_keyboard_translate_table, kset_last_prefix_arg)
      (kset_last_repeatable_command, kset_local_function_key_map)
      (kset_overriding_terminal_local_map, kset_real_last_command)
      (kset_system_key_syms): New setter functions.
      
      Fixes: debbugs:12215
      15dbb4d6
    • Paul Eggert's avatar
      * frame.h (FSET): Remove (Bug#12215). · f00af5b1
      Paul Eggert authored
      Replace all uses with calls to new setter functions.
      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
      (FRAME_INLINE): New macro.
      (fset_buffer_list, fset_buried_buffer_list, fset_condemned_scroll_bars)
      (fset_current_tool_bar_string, fset_desired_tool_bar_string)
      (fset_face_alist, fset_focus_frame, fset_icon_name, fset_menu_bar_items)
      (fset_menu_bar_vector, fset_menu_bar_window, fset_name)
      (fset_param_alist, fset_root_window, fset_scroll_bars)
      (fset_selected_window, fset_title, fset_tool_bar_items)
      (fset_tool_bar_position, fset_tool_bar_window): New functions.
      * frame.c (FRAME_INLINE):
      Define to EXTERN_INLINE, so that the corresponding functions
      are compiled into code.
      (fset_buffer_predicate, fset_minibuffer_window): New setter functions.
      f00af5b1
  28. 13 Aug, 2012 1 commit
  29. 10 Aug, 2012 1 commit
    • Dmitry Antipov's avatar
      Define Qnone once for all platforms. · 9fb0c957
      Dmitry Antipov authored
      * frame.c (Qnone): Define here.
      (syms_of_frame): DEFSYM it.
      * lisp.h (Qnone): New declaration.
      * nsfns.m, nsterm.h, nsterm.m, w32fns.c, w32font.c:
      * xfns.c: Remove duplication.  Adjust users.
      9fb0c957
  30. 07 Aug, 2012 2 commits
    • Dmitry Antipov's avatar
      Drop WGET and revert read access to Lisp_Objects slots of struct window. · d3d50620
      Dmitry Antipov authored
      * window.h (WGET): Remove.
      (struct window): Do not use INTERNAL_FIELD.
      * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
      * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
      * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
      * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
      * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
      Adjust users.
      d3d50620
    • Dmitry Antipov's avatar
      Drop FGET and revert read access to Lisp_Objects slots of struct frame. · e69b0960
      Dmitry Antipov authored
      * frame.h (FGET): Remove.
      (struct frame): Do not use INTERNAL_FIELD.
      * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
      * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
      * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
      * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
      e69b0960
  31. 06 Aug, 2012 2 commits
    • Dmitry Antipov's avatar
      Separate read and write access to Lisp_Object slots of struct window. · 077288cf
      Dmitry Antipov authored
      * window.h (WGET, WSET): New macros similar to AREF and ASET.
      * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
      * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
      * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
      * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
      * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
      Adjust users.
      077288cf
    • Dmitry Antipov's avatar
      Separate read and write access to Lisp_Object slots of struct frame. · edd74c35
      Dmitry Antipov authored
      * frame.h (FGET, FSET): New macros similar to AREF and ASET.
      * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
      * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
      * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
      * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
      edd74c35
  32. 01 Aug, 2012 1 commit
    • Alp Aker's avatar
      * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar) · 947b2afd
      Alp Aker authored
        (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:)
        (EmacsScroller-dealloc):  Adjust to use WVAR.  (Bug#12114)
      * nsfns.m (ns_set_name_as_filename): Likewise.
      * nsmenu.m (ns_update_menubar): Likewise.
      * nsselect.m (symbol_to_nsstring): Adjust to use SVAR.
      947b2afd
  33. 31 Jul, 2012 2 commits
    • Jan Djärv's avatar
    • Dmitry Antipov's avatar
      Generalize INTERNAL_FIELD between buffers, keyboards and frames. · e34f7f79
      Dmitry Antipov authored
      * src/lisp.h (INTERNAL_FIELD): New macro.
      * src/buffer.h (BUFFER_INTERNAL_FIELD): Removed.
      (BVAR): Change to use INTERNAL_FIELD.
      * src/keyboard.h (KBOARD_INTERNAL_FIELD): Likewise.
      (KVAR): Change to use INTERNAL_FIELD.
      * src/frame.h (FVAR): New macro.
      (struct frame): Use INTERNAL_FIELD for all Lisp_Object fields.
      * src/alloc.c, src/buffer.c, src/data.c, src/dispnew.c, src/dosfns.c
      * src/eval.c, src/frame.c, src/fringe.c, src/gtkutil.c, src/minibuf.c
      * src/nsfns.m, src/nsterm.m, src/print.c, src/term.c, src/w32fns.c
      * src/w32menu.c, src/w32term.c, src/window.c, src/window.h, src/xdisp.c
      * src/xfaces.c, src/xfns.c, src/xmenu.c, src/xterm.c: Users changed.
      * admin/coccinelle/frame.cocci: Semantic patch to replace direct
      access to Lisp_Object members of struct frame to FVAR.
      e34f7f79
  34. 13 Jul, 2012 1 commit
    • Jan Djärv's avatar
      Remove compiler warnings in objective-C files. · 0dc8cf50
      Jan Djärv authored
      * nsfns.m (x_set_icon_name, ns_set_name_internal)
      (ns_set_name_as_filename, ns_implicitly_set_icon_type)
      (x_set_icon_type, ns_lisp_to_cursor_type, Fns_read_file_name)
      (Fns_get_resource, Fns_set_resource, Fx_open_connection)
      (Fns_font_name, Fns_perform_service)
      (Fns_convert_utf8_nfd_to_nfc, ns_do_applescript)
      (Fns_do_applescript, Fx_show_tip): Use SSDATA where appropriate.
      (ns_set_name): Remove unused variable view.
      (x_set_menu_bar_lines): Remove unused variable olines.
      (x_set_tool_bar_lines): Remove unused variable root_window.
      (Fns_list_colors): Put () around assignment in while statement.
      (Fns_perform_service): Remove unused variable len.
      (Fns_display_usable_bounds): Remove unused variable top.
      (syms_of_nsfns): Remove unused variable i.
      
      * nsfont.m (ns_get_family, ns_lang_to_script, ns_otf_to_script)
      (ns_registry_to_script, ns_get_req_script, nsfont_open): Use SSDATA
      where appropriate.
      (ns_get_covering_families, ns_findfonts, nsfont_list_family): Put ()
      around assignment in loop statement.
      (nsfont_open): Remove unused variable i.
      (nsfont_open): Remove unused variable len.
      (nsfont_draw): Remove unused variable cs.
      
      * nsimage.m (ns_load_image, allocInitFromFile): Use SSDATA where
      appropriate.
      (setXBMColor): Remove unused variable len.
      (setPixmapData): Put () around assignment in loop statement.
      
      * nsmenu.m (ns_update_menubar, ns_menu_show, process_dialog)
      (initFromContents): Use SSDATA where appropriate.
      (ns_update_menubar): Add braces to ambigous if-else.
      (initWithTitle): Put () around assignment in if statement.
      (ns_menu_show): Remove unused variables window and keymap.
      (update_frame_tool_bar): Remove unused variable selected_p.
      (initWithContentRect): Remove unused variable this_cmd_name.
      
      * nsterm.h (menuDown): Add id as type to argument sender.
      (ns_display_info_for_name): Add Lisp_Object argument.
      (ns_term_init): Add Lisp_Object argument.
      (ns_map_event_to_object): Add void argument.
      (ns_string_from_pasteboard, ns_string_to_pasteboard): Add correct
      prototype with arguments and only declare if __OBJC__.
      (nxatoms_of_nsselect): Add void argument.
      (ns_lisp_to_cursor_type): Add Lisp_Object argument.
      (ns_alloc_autorelease_pool): Add void argument.
      (ns_release_autorelease_pool): Add void* argument.
      (ns_get_defaults_value): Add const char* argument.
      
      * nsterm.m (uRect): Only define if NS_IMPL_GNUSTEP.
      (x_free_frame_resources): Pass x_free_frame_resources to NSTRACE.
      (ns_lisp_to_color, ns_string_to_lispmod, ns_term_init)
      (ns_term_shutdown, requestService, initFrameFromEmacs): Use SSDATA
      where appropriate.
      (ns_exec_path, ns_load_path, changeFont): Put () around assignment used
      as boolean expression.
      (x_set_window_size): Remove unused variable toolbar.
      (ns_get_color_default, ns_mod_to_lisp): Remove.
      (ns_mouse_position): Remove unused variables xchar and ychar.
      (ns_compute_glyph_string_overhangs): Remove unused variable face.
      (ns_set_vertical_scroll_bar): Remove unused variable count.
      (ns_delete_terminal): Remove unused variable i.
      (ns_term_init): Remove unused variables r, g and b.
      (mouseDown): Remove unused variable window.
      (windowDidResize): Move definition of theWindow inside NS_IMPL_GNUSTEP.
      (initFrameFromEmacs): Remove unused variable vbextra.
      (mouseEntered): Remove unused variables p and dpyinfo.
      (mouseExited): Remove unused variables p and r.
      (ns_define_frame_cursor, ns_clear_frame_area)
      (ns_draw_window_cursor, ns_initialize_display_info): Make static.
      (menuDown): Assign [sender tag] to variable and cast the variable.
      0dc8cf50