Commit facfbbbd authored by Stefan Monnier's avatar Stefan Monnier

* Makefile.in: Undef LIB_STANDARD before defining it to silence warning

in case it was defined already.
USE @GNUSTEP_MAKEFILES@ rather than envvars.
* nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
ns_default.
(applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
Lisp_Objects.
* nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
(ns_defined_color, ns_color_to_lisp): Declare.
* nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
(Fns_own_selection_internal): Make the big ugly hack more explicit, so
it's accepted even with USE_LISP_UNION_TYPE.
* nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
(update_frame_tool_bar): Remove apparently obsolete tests for
non-integerness of f->tool_bar_lines.
(windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
* nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
(nsfont_open): Don't confuse NULL for Qnil.
* nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
* menu.h (find_and_call_menu_selection):
* menu.c (find_and_call_menu_selection): Use just int for vector size.
(find_and_return_menu_selection): Always return something.
* frame.h: Include dispextern.h for Display_Info.
(display_x_get_resource): Declare.
* configure.in: Extract and substitute GNUSTEP_MAKEFILES.
parent d377ef4a
2008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
* configure.in: Extract and substitute GNUSTEP_MAKEFILES.
2008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
* configure.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
......
......@@ -735,6 +735,7 @@ machfile
opsysfile
carbon_appdir
ns_appdir
GNUSTEP_MAKEFILES
LTLIBOBJS'
ac_subst_files=''
ac_precious_vars='build_alias
......@@ -9337,6 +9338,7 @@ if test "${with_ns}" != no; then
NS_IMPL_GNUSTEP=yes
GNUSTEP_SYSTEM_HEADERS="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_HEADERS)"
GNUSTEP_SYSTEM_LIBRARIES="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_LIBRARIES)"
GNUSTEP_MAKEFILES="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_MAKEFILES)"
CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
......@@ -16905,6 +16907,7 @@ cat >>conftest.$ac_ext <<_ACEOF
# endif
#endif
#include <limits.h>
#include <stdlib.h>
#ifdef HAVE_UNISTD_H
......@@ -17053,12 +17056,15 @@ main ()
isn't worth using anyway. */
alarm (60);
for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
continue;
time_t_max--;
if ((time_t) -1 < 0)
for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2)
continue;
for (;;)
{
t = (time_t_max << 1) + 1;
if (t <= time_t_max)
break;
time_t_max = t;
}
time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max;
delta = time_t_max / 997; /* a suitable prime number */
for (i = 0; i < N_STRINGS; i++)
{
......@@ -17073,10 +17079,12 @@ main ()
&& mktime_test ((time_t) (60 * 60 * 24))))
return 1;
for (j = 1; 0 < j; j *= 2)
for (j = 1; ; j <<= 1)
if (! bigtime_test (j))
return 1;
if (! bigtime_test (j - 1))
else if (INT_MAX / 2 < j)
break;
if (! bigtime_test (INT_MAX))
return 1;
}
return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ());
......@@ -18985,11 +18993,13 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <stdio.h>
#include <sys/types.h> /* for off_t */
#include <stdio.h>
int
main ()
{
return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0);
int (*fp) (FILE *, off_t, int) = fseeko;
return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
;
return 0;
}
......@@ -19029,11 +19039,13 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#define _LARGEFILE_SOURCE 1
#include <stdio.h>
#include <sys/types.h> /* for off_t */
#include <stdio.h>
int
main ()
{
return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0);
int (*fp) (FILE *, off_t, int) = fseeko;
return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
;
return 0;
}
......@@ -24169,6 +24181,7 @@ fi
cat >>confdefs.h <<_ACEOF
......@@ -25193,10 +25206,11 @@ machfile!$machfile$ac_delim
opsysfile!$opsysfile$ac_delim
carbon_appdir!$carbon_appdir$ac_delim
ns_appdir!$ns_appdir$ac_delim
GNUSTEP_MAKEFILES!$GNUSTEP_MAKEFILES$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 23; then
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 24; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
......
......@@ -1234,6 +1234,7 @@ if test "${with_ns}" != no; then
NS_IMPL_GNUSTEP=yes
GNUSTEP_SYSTEM_HEADERS="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_HEADERS)"
GNUSTEP_SYSTEM_LIBRARIES="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_LIBRARIES)"
GNUSTEP_MAKEFILES="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_MAKEFILES)"
CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
......@@ -2471,6 +2472,7 @@ AC_SUBST(opsysfile)
AC_SUBST(GETLOADAVG_LIBS)
AC_SUBST(carbon_appdir)
AC_SUBST(ns_appdir)
AC_SUBST(GNUSTEP_MAKEFILES)
AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "${canonical}",
[Define to the canonical Emacs configuration name.])
......
*-spd
*.core
*.d
*.pdb
.gdb_history
Makefile
......
2008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
Use SDATA. Follow coding convention of placing operators at
beginning of next line rather than end of previous line, and placing
spaces around infix operators.
* Makefile.in: Undef LIB_STANDARD before defining it to silence warning
in case it was defined already.
USE @GNUSTEP_MAKEFILES@ rather than envvars.
* nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
ns_default.
(applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
Lisp_Objects.
* nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
(ns_defined_color, ns_color_to_lisp): Declare.
* nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
(Fns_own_selection_internal): Make the big ugly hack more explicit, so
it's accepted even with USE_LISP_UNION_TYPE.
* nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
(update_frame_tool_bar): Remove apparently obsolete tests for
non-integerness of f->tool_bar_lines.
(windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
* nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
(nsfont_open): Don't confuse NULL for Qnil.
* nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
* menu.h (find_and_call_menu_selection):
* menu.c (find_and_call_menu_selection): Use just int for vector size.
(find_and_return_menu_selection): Always return something.
* frame.h: Include dispextern.h for Display_Info.
(display_x_get_resource): Declare.
2008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
* syntax.c: Remove stdio.h include accidentally introduced in
......
......@@ -114,6 +114,7 @@ SHELL=/bin/sh
/* Under GNUstep, putting libc on the link line causes problems. */
#ifdef NS_IMPL_GNUSTEP
#undef LIB_STANDARD
#define LIB_STANDARD
#endif
......@@ -238,8 +239,8 @@ STARTFILES = START_FILES
/* Pull in stuff from GNUstep-make. */
FOUNDATION_LIB=gnu
GUI_LIB=gnu
include $(GNUSTEP_MAKEFILES)/Additional/base.make
include $(GNUSTEP_MAKEFILES)/Additional/gui.make
include @GNUSTEP_MAKEFILES@/Additional/base.make
include @GNUSTEP_MAKEFILES@/Additional/gui.make
shared=no
#endif
......@@ -899,8 +900,7 @@ SOME_MACHINE_LISP = ../lisp/mouse.elc \
../lisp/mouse.elc \
../lisp/term/x-win.elc \
../lisp/term/ns-win.elc \
../lisp/ns-carbon-compat.elc \
../lisp/emacs-lisp/easymenu.elc
../lisp/ns-carbon-compat.elc
/* Construct full set of libraries to be linked.
Note that SunOS needs -lm to come before -lc; otherwise, you get
......
......@@ -24,6 +24,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifndef EMACS_FRAME_H
#define EMACS_FRAME_H
#include "dispextern.h"
/* Miscellanea. */
......@@ -1114,6 +1116,13 @@ extern void x_set_alpha P_ ((struct frame *, Lisp_Object, Lisp_Object));
extern void validate_x_resource_name P_ ((void));
extern Lisp_Object display_x_get_resource (Display_Info *,
Lisp_Object attribute,
Lisp_Object class,
Lisp_Object component,
Lisp_Object subclass);
#endif /* HAVE_WINDOW_SYSTEM */
#endif /* not EMACS_FRAME_H */
......
......@@ -881,7 +881,7 @@ update_submenu_strings (first_wv)
void
find_and_call_menu_selection (f, menu_bar_items_used, vector, client_data)
FRAME_PTR f;
EMACS_INT menu_bar_items_used;
int menu_bar_items_used;
Lisp_Object vector;
void *client_data;
{
......@@ -1023,6 +1023,7 @@ find_and_return_menu_selection (FRAME_PTR f, int keymaps, void *client_data)
i += MENU_ITEMS_ITEM_LENGTH;
}
}
return Qnil;
}
#endif
......
......@@ -29,7 +29,7 @@ extern void list_of_panes P_ ((Lisp_Object));
#if defined (USE_X_TOOLKIT) || defined (USE_GTK) || defined (HAVE_NTGUI)
extern void free_menubar_widget_value_tree P_ ((widget_value *));
extern void update_submenu_strings P_ ((widget_value *));
extern void find_and_call_menu_selection P_ ((FRAME_PTR, EMACS_INT,
extern void find_and_call_menu_selection P_ ((FRAME_PTR, int,
Lisp_Object, void *));
#endif
......
This diff is collapsed.
......@@ -234,7 +234,7 @@ static int nsfont_draw (struct glyph_string *s, int from, int to, int x, int y,
struct font_driver nsfont_driver =
{
(Lisp_Object) NULL, /* Qns */
0, /* Qns */
1, /* case sensitive */
nsfont_get_cache,
nsfont_list,
......@@ -518,7 +518,7 @@ avoid creating multiple struct font objects (with metrics cache, etc.)
font_info = (struct nsfont_info *) XFONT_OBJECT (font_object);
font = (struct font *)font_info;
if (!font)
return NULL; /*PENDING: this copies w32, but causes a segfault */
return Qnil; /*PENDING: this copies w32, but causes a segfault */
if (NSFONT_TRACE)
{
......@@ -571,7 +571,7 @@ avoid creating multiple struct font objects (with metrics cache, etc.)
if (!nsfont)
{
fprintf (stderr, "*** Emacs.app: unable to load backup font\n");
return NULL;
return Qnil;
}
}
......@@ -601,7 +601,7 @@ avoid creating multiple struct font objects (with metrics cache, etc.)
font_info->metrics = (struct font_metrics *)
xmalloc (0x100 * sizeof (struct font_metrics *));
if (!font_info->glyphs || !font_info->metrics)
return NULL;
return Qnil;
bzero (font_info->glyphs, 0x100 * sizeof (unsigned short *));
bzero (font_info->metrics, 0x100 * sizeof (struct font_metrics *));
......
......@@ -401,9 +401,9 @@
{
for (i = 0; i<n; i++)
{
string = XVECTOR (items)->contents[4*i+1];
string = AREF (items, 4*i+1);
if (!string)
if (EQ (string, make_number (0))) // FIXME: Why??? --Stef
continue;
if (NILP (string))
if (previous_strings[i][0])
......@@ -691,10 +691,10 @@ - (void)fillWithWidgetValue: (void *)wvptr
- (EmacsMenu *)addSubmenuWithTitle: (char *)title forFrame: (struct frame *)f
{
NSString *titleStr = [NSString stringWithUTF8String: title];
id <NSMenuItem> item =
[self addItemWithTitle: titleStr
action: nil /*@selector (menuDown:) */
keyEquivalent: @""];
id <NSMenuItem> item
= [self addItemWithTitle: titleStr
action: nil /*@selector (menuDown:) */
keyEquivalent: @""];
EmacsMenu *submenu = [[EmacsMenu alloc] initWithTitle: titleStr frame: f];
[self setSubmenu: submenu forItem: item];
[submenu release];
......@@ -724,8 +724,9 @@ - (Lisp_Object)runMenuAt: (NSPoint)p forFrame: (struct frame *)f
[NSMenu popUpContextMenu: self withEvent: event forView: view];
retVal = context_menu_value;
context_menu_value = 0;
return retVal > 0 ?
find_and_return_menu_selection (f, keymaps, (void *)retVal) : Qnil;
return retVal > 0
? find_and_return_menu_selection (f, keymaps, (void *)retVal)
: Qnil;
}
@end /* EmacsMenu */
......@@ -1061,8 +1062,8 @@ key equivalents (see below) because the keydefs in ns-win.el have
/* If this item has a null value,
make the call_data null so that it won't display a box
when the mouse is on it. */
wv->call_data =
!NILP (def) ? (void *) &XVECTOR (menu_items)->contents[i] : 0;
wv->call_data
= !NILP (def) ? (void *) &XVECTOR (menu_items)->contents[i] : 0;
wv->enabled = !NILP (enable);
if (NILP (type))
......@@ -1157,9 +1158,6 @@ key equivalents (see below) because the keydefs in ns-win.el have
int i;
EmacsToolbar *toolbar = [FRAME_NS_VIEW (f) toolbar];
if (NILP (f->tool_bar_lines) || !INTEGERP (f->tool_bar_lines))
return;
[toolbar clearActive];
/* update EmacsToolbar as in GtkUtils, build items list */
......@@ -1294,8 +1292,8 @@ - (void) addDisplayItemWithImage: (EmacsImage *)img idx: (int)idx
helpText: (char *)help enabled: (BOOL)enabled
{
/* 1) come up w/identifier */
NSString *identifier =
[NSString stringWithFormat: @"%u", [img hash]];
NSString *identifier
= [NSString stringWithFormat: @"%u", [img hash]];
/* 2) create / reuse item */
NSToolbarItem *item = [identifierToItem objectForKey: identifier];
......@@ -1557,7 +1555,7 @@ @implementation EmacsDialogPanel
NSSize spacing = {SPACER, SPACER};
NSRect area;
char this_cmd_name[80];
id cell, tem;
id cell;
static NSImageView *imgView;
static FlippedView *contentView;
......@@ -1649,7 +1647,7 @@ @implementation EmacsDialogPanel
- (BOOL)windowShouldClose: (id)sender
{
[NSApp stopModalWithCode: Qnil];
[NSApp stopModalWithCode: XHASH (Qnil)]; // FIXME: BIG UGLY HACK!!
return NO;
}
......@@ -1693,7 +1691,7 @@ void process_dialog (id window, Lisp_Object list)
[cell setTarget: self];
[cell setAction: @selector (clicked: )];
[cell setTitle: [NSString stringWithUTF8String: str]];
[cell setTag: (int)val];
[cell setTag: XHASH (val)]; // FIXME: BIG UGLY HACK!!
[cell setBordered: YES];
[cell setEnabled: YES];
......@@ -1730,14 +1728,14 @@ void process_dialog (id window, Lisp_Object list)
- clicked: sender
{
NSArray *sellist = nil;
Lisp_Object seltag;
EMACS_INT seltag;
sellist = [sender selectedCells];
if ([sellist count]<1)
return self;
seltag = (Lisp_Object)[[sellist objectAtIndex: 0] tag];
if (! EQ (seltag, Qundefined))
seltag = [[sellist objectAtIndex: 0] tag];
if (seltag == XHASH (Qundefined)) // FIXME: BIG UGLY HACK!!
[NSApp stopModalWithCode: seltag];
return self;
}
......@@ -1844,7 +1842,11 @@ - (Lisp_Object)runDialogAt: (NSPoint)p
}
[NSApp endModalSession: session];
return (Lisp_Object)ret;
{ // FIXME: BIG UGLY HACK!!!
Lisp_Object tmp;
*(EMACS_INT*)(&tmp) = ret;
return tmp;
}
}
@end
......
......@@ -108,15 +108,14 @@ Updated by Christian Limpach (chris@nice.ch)
if (VECTORP (obj))
{
int i;
int size = XVECTOR (obj)->size;
int size = ASIZE (obj);
Lisp_Object copy;
if (size == 1)
return clean_local_selection_data (XVECTOR (obj)->contents [0]);
copy = Fmake_vector (size, Qnil);
return clean_local_selection_data (AREF (obj, 0));
copy = Fmake_vector (make_number (size), Qnil);
for (i = 0; i < size; i++)
XVECTOR (copy)->contents [i]
= clean_local_selection_data (XVECTOR (obj)->contents [i]);
AREF (copy, i) = clean_local_selection_data (AREF (obj, i));
return copy;
}
......@@ -188,13 +187,13 @@ Updated by Christian Limpach (chris@nice.ch)
CHECK_SYMBOL (target_type);
handler_fn = Fcdr (Fassq (target_type, Vselection_converter_alist));
if (!NILP (handler_fn))
value =call3 (handler_fn, selection_name, target_type,
value = call3 (handler_fn, selection_name, target_type,
XCAR (XCDR (local_value)));
else
value =Qnil;
value = Qnil;
unbind_to (count, Qnil);
check =value;
check = value;
if (CONSP (value) && SYMBOLP (XCAR (value)))
{
type = XCAR (value);
......@@ -213,9 +212,12 @@ Updated by Christian Limpach (chris@nice.ch)
&& NILP (XCDR (XCDR (check))))))
return value;
// FIXME: Why `quit' rather than `error'?
Fsignal (Qquit, Fcons (build_string (
"invalid data returned by selection-conversion function"),
Fcons (handler_fn, Fcons (value, Qnil))));
// FIXME: Beware, `quit' can return!!
return Qnil;
}
......@@ -231,15 +233,16 @@ Updated by Christian Limpach (chris@nice.ch)
static void
ns_handle_selection_request (struct input_event *event)
{
id pb =(id)event->x;
NSString *type =(NSString *)event->y;
// FIXME: BIG UGLY HACK!!!
id pb = (id)*(EMACS_INT*)&(event->x);
NSString *type = (NSString *)*(EMACS_INT*)&(event->y);
Lisp_Object selection_name, selection_data, target_symbol, data;
Lisp_Object successful_p, rest;
selection_name =ns_string_to_symbol ([(NSPasteboard *)pb name]);
target_symbol =ns_string_to_symbol (type);
selection_name = ns_string_to_symbol ([(NSPasteboard *)pb name]);
target_symbol = ns_string_to_symbol (type);
selection_data = assq_no_quit (selection_name, Vselection_alist);
successful_p =Qnil;
successful_p = Qnil;
if (!NILP (selection_data))
{
......@@ -248,13 +251,13 @@ Updated by Christian Limpach (chris@nice.ch)
{
if (STRINGP (data))
ns_string_to_pasteboard_internal (pb, data, type);
successful_p =Qt;
successful_p = Qt;
}
}
if (!EQ (Vns_sent_selection_hooks, Qunbound))
{
for (rest =Vns_sent_selection_hooks;CONSP (rest); rest =Fcdr (rest))
for (rest = Vns_sent_selection_hooks; CONSP (rest); rest = Fcdr (rest))
call3 (Fcar (rest), selection_name, target_symbol, successful_p);
}
}
......@@ -263,11 +266,11 @@ Updated by Christian Limpach (chris@nice.ch)
static void
ns_handle_selection_clear (struct input_event *event)
{
id pb = (id)event->x;
id pb = (id)*(EMACS_INT*)&(event->x);
Lisp_Object selection_name, selection_data, rest;
selection_name =ns_string_to_symbol ([(NSPasteboard *)pb name]);
selection_data =assq_no_quit (selection_name, Vselection_alist);
selection_name = ns_string_to_symbol ([(NSPasteboard *)pb name]);
selection_data = assq_no_quit (selection_name, Vselection_alist);
if (NILP (selection_data)) return;
if (EQ (selection_data, Fcar (Vselection_alist)))
......@@ -281,7 +284,7 @@ Updated by Christian Limpach (chris@nice.ch)
if (!EQ (Vns_lost_selection_hooks, Qunbound))
{
for (rest =Vns_lost_selection_hooks;CONSP (rest); rest =Fcdr (rest))
for (rest = Vns_lost_selection_hooks;CONSP (rest); rest = Fcdr (rest))
call1 (Fcar (rest), selection_name);
}
}
......@@ -384,10 +387,10 @@ Updated by Christian Limpach (chris@nice.ch)
error ("selection-value may not be nil.");
pb =[NSPasteboard pasteboardWithName: symbol_to_nsstring (selection_name)];
ns_declare_pasteboard (pb);
old_value =assq_no_quit (selection_name, Vselection_alist);
old_value = assq_no_quit (selection_name, Vselection_alist);
new_value = Fcons (selection_name, Fcons (selection_value, Qnil));
if (NILP (old_value))
Vselection_alist =Fcons (new_value, Vselection_alist);
Vselection_alist = Fcons (new_value, Vselection_alist);
else
Fsetcdr (old_value, Fcdr (new_value));
/* XXX An evil hack, but a necessary one I fear XXX */
......@@ -396,8 +399,8 @@ Updated by Christian Limpach (chris@nice.ch)
ev.kind = SELECTION_REQUEST_EVENT;
ev.modifiers = 0;
ev.code = 0;
ev.x = (int)pb;
ev.y = (int)NSStringPboardType;
*(EMACS_INT*)(&(ev.x)) = (EMACS_INT)pb; // FIXME: BIG UGLY HACK!!
*(EMACS_INT*)(&(ev.y)) = (EMACS_INT)NSStringPboardType;
ns_handle_selection_request (&ev);
}
return selection_value;
......
......@@ -717,6 +717,9 @@ extern void ns_term_shutdown (int sig);
#define NS_DUMPGLYPH_MOUSEFACE 3
EXFUN (Fx_display_grayscale_p, 1);
EXFUN (Fx_display_planes, 1);
/* In nsfont, called from fontset.c */
extern void nsfont_make_fontset_for_font (Lisp_Object name,
Lisp_Object font_object);
......@@ -747,11 +750,13 @@ extern Lisp_Object ns_cursor_type_to_lisp (int arg);
extern Lisp_Object Qnone;
/* XColor defined in dispextern.h (we use color_def->pixel = NSColor id), but
this causes an #include snafu, so we can't declare it.
extern int ns_defined_color (struct frame *f, char *name, XColor *color_def,
int alloc); */
this causes an #include snafu, so we can't declare it. */
extern int
ns_defined_color (struct frame *f, char *name, XColor *color_def, int alloc,
char makeIndex);
#ifdef __OBJC__
extern Lisp_Object ns_color_to_lisp (NSColor *col);
extern int ns_lisp_to_color (Lisp_Object color, NSColor **col);
extern NSColor *ns_lookup_indexed_color (unsigned long idx, struct frame *f);
extern unsigned long ns_index_color (NSColor *color, struct frame *f);
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment