diff options
| author | Jan Djärv | 2013-06-02 21:14:25 +0200 |
|---|---|---|
| committer | Jan Djärv | 2013-06-02 21:14:25 +0200 |
| commit | c0342369acfbad2f0ea86b949a2f116304186353 (patch) | |
| tree | ee60679ec6f2c20b201ef8a71be515582e27c268 /src/process.c | |
| parent | a2d98946738ffd42f90b3f54d2a32be9d7b6429e (diff) | |
| download | emacs-c0342369acfbad2f0ea86b949a2f116304186353.tar.gz emacs-c0342369acfbad2f0ea86b949a2f116304186353.zip | |
Update the GNUStep port so it works OK. Redraw and sizing bugs remain.
* 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.
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/process.c b/src/process.c index 45e8afdd22c..9df003fa3a3 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -7029,6 +7029,16 @@ integer or floating point values. | |||
| 7029 | return system_process_attributes (pid); | 7029 | return system_process_attributes (pid); |
| 7030 | } | 7030 | } |
| 7031 | 7031 | ||
| 7032 | void | ||
| 7033 | catch_child_signal (void) | ||
| 7034 | { | ||
| 7035 | #ifdef SIGCHLD | ||
| 7036 | struct sigaction action; | ||
| 7037 | emacs_sigaction_init (&action, deliver_child_signal); | ||
| 7038 | sigaction (SIGCHLD, &action, 0); | ||
| 7039 | #endif | ||
| 7040 | } | ||
| 7041 | |||
| 7032 | 7042 | ||
| 7033 | /* This is not called "init_process" because that is the name of a | 7043 | /* This is not called "init_process" because that is the name of a |
| 7034 | Mach system call, so it would cause problems on Darwin systems. */ | 7044 | Mach system call, so it would cause problems on Darwin systems. */ |
| @@ -7044,9 +7054,7 @@ init_process_emacs (void) | |||
| 7044 | if (! noninteractive || initialized) | 7054 | if (! noninteractive || initialized) |
| 7045 | #endif | 7055 | #endif |
| 7046 | { | 7056 | { |
| 7047 | struct sigaction action; | 7057 | catch_child_signal (); |
| 7048 | emacs_sigaction_init (&action, deliver_child_signal); | ||
| 7049 | sigaction (SIGCHLD, &action, 0); | ||
| 7050 | } | 7058 | } |
| 7051 | 7059 | ||
| 7052 | FD_ZERO (&input_wait_mask); | 7060 | FD_ZERO (&input_wait_mask); |