1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 10:31:37 -08:00

Fix macOS/GNUstep compilation warnings

* src/nsfns.m (handlePanelKeys): Unused function.
* src/nsterm.m (ns_set_appearance):
([EmacsView initFrameFromEmacs:]): Use EmacsWindow type instead of
NSWindow.
(ns_clip_to_row): Unused function.
(ns_dumpglyphs_stretch): Remove unused variable.
(ns_term_init):
([EmacsWindow setAppearance]): Only compile on macOS.
(ns_mouse_position): Make sure f is initialised on GNUstep.
* src/emacs.c (main): Move allocation of autorelease pool to before
first use.
This commit is contained in:
Alan Third 2020-03-02 17:54:32 +00:00
parent 68109c56e4
commit b4911a6f0d
3 changed files with 7 additions and 96 deletions

View file

@ -1243,6 +1243,7 @@ main (int argc, char **argv)
if (! (lc_all && strcmp (lc_all, "C") == 0))
{
#ifdef HAVE_NS
ns_pool = ns_alloc_autorelease_pool ();
ns_init_locale ();
#endif
setlocale (LC_ALL, "");
@ -1612,8 +1613,6 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
#endif
#ifdef HAVE_NS
ns_pool = ns_alloc_autorelease_pool ();
if (!noninteractive)
{
#ifdef NS_IMPL_COCOA

View file

@ -3012,80 +3012,6 @@ DEFUN ("ns-show-character-palette",
========================================================================== */
/*
Handle arrow/function/control keys and copy/paste/cut in file dialogs.
Return YES if handled, NO if not.
*/
static BOOL
handlePanelKeys (NSSavePanel *panel, NSEvent *theEvent)
{
NSString *s;
int i;
BOOL ret = NO;
if ([theEvent type] != NSEventTypeKeyDown) return NO;
s = [theEvent characters];
for (i = 0; i < [s length]; ++i)
{
int ch = (int) [s characterAtIndex: i];
switch (ch)
{
case NSHomeFunctionKey:
case NSDownArrowFunctionKey:
case NSUpArrowFunctionKey:
case NSLeftArrowFunctionKey:
case NSRightArrowFunctionKey:
case NSPageUpFunctionKey:
case NSPageDownFunctionKey:
case NSEndFunctionKey:
/* Don't send command modified keys, as those are handled in the
performKeyEquivalent method of the super class. */
if (! ([theEvent modifierFlags] & NSEventModifierFlagCommand))
{
[panel sendEvent: theEvent];
ret = YES;
}
break;
/* As we don't have the standard key commands for
copy/paste/cut/select-all in our edit menu, we must handle
them here. TODO: handle Emacs key bindings for copy/cut/select-all
here, paste works, because we have that in our Edit menu.
I.e. refactor out code in nsterm.m, keyDown: to figure out the
correct modifier. */
case 'x': // Cut
case 'c': // Copy
case 'v': // Paste
case 'a': // Select all
if ([theEvent modifierFlags] & NSEventModifierFlagCommand)
{
[NSApp sendAction:
(ch == 'x'
? @selector(cut:)
: (ch == 'c'
? @selector(copy:)
: (ch == 'v'
? @selector(paste:)
: @selector(selectAll:))))
to:nil from:panel];
ret = YES;
}
default:
// Send all control keys, as the text field supports C-a, C-f, C-e
// C-b and more.
if ([theEvent modifierFlags] & NSEventModifierFlagControl)
{
[panel sendEvent: theEvent];
ret = YES;
}
break;
}
}
return ret;
}
@implementation EmacsFileDelegate
/* --------------------------------------------------------------------------
Delegate methods for Open/Save panels

View file

@ -1238,20 +1238,6 @@ ns_unfocus (struct frame *f)
}
static void
ns_clip_to_row (struct window *w, struct glyph_row *row,
enum glyph_row_area area, BOOL gc)
/* --------------------------------------------------------------------------
Internal (but parallels other terms): Focus drawing on given row
-------------------------------------------------------------------------- */
{
struct frame *f = XFRAME (WINDOW_FRAME (w));
NSRect clip_rect = ns_row_rect (w, row, area);
ns_focus (f, &clip_rect, 1);
}
/* ==========================================================================
Visible bell and beep.
@ -2089,7 +2075,7 @@ ns_set_appearance (struct frame *f, Lisp_Object new_value, Lisp_Object old_value
{
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101000
EmacsView *view = (EmacsView *)FRAME_NS_VIEW (f);
NSWindow *window = [view window];
EmacsWindow *window = (EmacsWindow *)[view window];
NSTRACE ("ns_set_appearance");
@ -2553,7 +2539,7 @@ ns_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window,
id view;
NSPoint view_position;
Lisp_Object frame, tail;
struct frame *f;
struct frame *f = NULL;
struct ns_display_info *dpyinfo;
NSTRACE ("ns_mouse_position");
@ -4005,7 +3991,7 @@ ns_dumpglyphs_stretch (struct glyph_string *s)
{
NSRect r[2];
NSRect glyphRect;
int n, i;
int n;
struct face *face;
NSColor *fgCol, *bgCol;
@ -5389,7 +5375,7 @@ ns_term_init (Lisp_Object display_name)
}
/* FIXME: Report any errors writing the color file below. */
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101100
#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 101100
#if MAC_OS_X_VERSION_MIN_REQUIRED < 101100
if ([cl respondsToSelector:@selector(writeToURL:error:)])
#endif
@ -7395,7 +7381,7 @@ not_in_argv (NSString *arg)
{
NSRect r, wr;
Lisp_Object tem;
NSWindow *win;
EmacsWindow *win;
NSColor *col;
NSString *name;
@ -8816,7 +8802,7 @@ not_in_argv (NSString *arg)
- (void)setAppearance
{
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 101000
#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 101000
struct frame *f = ((EmacsView *)[self delegate])->emacsframe;
NSAppearance *appearance = nil;