1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-04 11:00:45 -08:00
Commit graph

26 commits

Author SHA1 Message Date
YAMAMOTO Mitsuharu
856a5c5ba7 Use MAC_OS_X_VERSION_MAX_ALLOWED to conditionalize by the compiling OS
version.
2005-02-03 11:55:47 +00:00
Steven Tamm
b15325b22a * dispextern.h: Change HAVE_CARBON to MAC_OS.
(struct glyph_string): Likewise.
* emacs.c (main) [MAC_OS8]: Call mac_term_init instead of
	mac_initialize.
* fileio.c (Fnext_read_file_uses_dialog_p, Fread_file_name):
	Change TARGET_API_MAC_CARBON to HAVE_CARBON.
* fns.c (vector): Change MAC_OSX to MAC_OS.
* frame.c (x_set_frame_parameters, x_report_frame_params)
	(x_set_fullscreen): Remove #ifndef HAVE_CARBON.
	(x_set_border_width, Vdefault_frame_scroll_bars): Change
	HAVE_CARBON to MAC_OS.
* image.c [MAC_OS]: Include sys/stat.h.
	[MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and
	QuickTimeComponents.h.
* mac.c [!MAC_OSX] (mac_wait_next_event): Add extern.
	[!MAC_OSX] (select): Use mac_wait_next_event.
	[!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to
	Vexec_suffixes.
	[!MAC_OSX] (select, run_mac_command): Change `#ifdef
	TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
	(mac_clear_font_name_table): Add extern.
	(Fmac_clear_font_name_table): New defun.
	(syms_of_mac): Defsubr it.
	[MAC_OSX] (SELECT_POLLING_PERIOD_USEC): New define.
	[MAC_OSX] (select_and_poll_event): New function.
	[MAC_OSX] (sys_select): Use it.
	[MAC_OSX && SELECT_USE_CFSOCKET] (socket_callback): New function.
	[MAC_OSX && SELECT_USE_CFSOCKET]
	(SELECT_TIMEOUT_THRESHOLD_RUNLOOP, EVENT_CLASS_SOCK): New defines.
	[MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Use CFSocket and
	RunLoop for simultaneously monitoring two kinds of inputs, window
	events and process outputs, without periodically polling.
* macfns.c (mac_initialized): Remove extern.
	(stricmp): Put in #if 0.  All callers changed to use xstricmp in
	xfaces.c.
	(strnicmp): Decrement `n' at the end of each loop, not the
	beginning.
	(check_mac): Use the term "Mac native windows" instead of "Mac
	OS".
	(check_x_display_info, x_display_info_for_name): Sync with xfns.c.
	(mac_get_rdb_resource): New function (from w32reg.c).
	(x_get_string_resource): Use it.
	(install_window_handler): Add extern.
	(mac_window): New function.
	(Fx_create_frame): Use it instead of make_mac_frame.  Set
	parameter for Qfullscreen.  Call x_wm_set_size_hint.
	(Fx_open_connection, Fx_close_connection): New defuns.
	(syms_of_macfns): Defsubr them.
	(x_create_tip_frame) [TARGET_API_MAC_CARBON]: Add
	kWindowNoUpdatesAttribute to the window attribute.
	(x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow.
	(x_create_tip_frame): Don't call ShowWindow.
	(Fx_show_tip): Call ShowWindow.
	(Fx_file_dialog): Change `#ifdef TARGET_API_MAC_CARBON' to `#if
	TARGET_API_MAC_CARBON'.
	(mac_frame_parm_handlers): Set handlers for Qfullscreen.
	(syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0.
* macgui.h [!MAC_OSX]: Don't include Controls.h.  Include
	Windows.h.
	(Window): Typedef to WindowPtr and move outside `#if
	TARGET_API_MAC_CARBON'.
	(XSizeHints): New struct.
* macterm.c (x_update_begin, x_update_end)
	[TARGET_API_MAC_CARBON]: Disable screen updates during update of a
	frame.
	(x_draw_glyph_string_background, x_draw_glyph_string_foreground)
	[MAC_OS8]: Use XDrawImageString/XDrawImageString16.
	(construct_mouse_click): Put in #if 0.
	(x_check_fullscreen, x_check_fullscreen_move): Remove decls.
	(x_scroll_bar_create, x_scroll_bar_handle_click): Change `#ifdef
	TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
	(activate_scroll_bars, deactivate_scroll_bars)
	[!TARGET_API_MAC_CARBON]: Use ActivateControl/DeactivateControl.
	(x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window
	if the position is neither user-specified nor program-specified.
	(x_free_frame_resources): Free size_hints.
	(x_wm_set_size_hint): Allocate size_hints if needed.  Set
	size_hints.
	(mac_clear_font_name_table): New function.
	(mac_do_list_fonts): Initialize font_name_table if needed.
	(x_list_fonts): Don't initialize font_name_table.  Add BLOCK_INPUT
	around mac_do_list_fonts.
	(mac_unload_font): New function.
	(x_load_font): Add BLOCK_INPUT around XLoadQueryFont.
	(init_mac_drag_n_drop, mac_do_receive_drag): Enclose declarations
	and definitions with #if TARGET_API_MAC_CARBON.
	[USE_CARBON_EVENTS] (mac_handle_window_event): Add decl.
	(install_window_handler): Add decl.
	(do_window_update): Add BeginUpdate/EndUpdate for the tooltip
	window.  Use UpdateControls.  Get the rectangle that should be
	updated and restrict the target of expose_frame to it.
	(do_grow_window): Set minimum height/width according to
	size_hints.
	(do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow.
	(do_zoom_window): Don't use x_set_window_size.
	[USE_CARBON_EVENTS] (mac_handle_window_event): New function.
	(install_window_handler): New function.
	[!USE_CARBON_EVENTS] (mouse_region): New variable.
	[!USE_CARBON_EVENTS] (mac_wait_next_event): New function.
	(XTread_socket) [USE_CARBON_EVENTS]: Move call to
	GetEventDispatcherTarget inside BLOCK_INPUT.
	(XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event.
	Update mouse_region when mouse is moved.
	(make_mac_frame): Remove.
	(make_mac_terminal_frame): Put in #ifdef MAC_OS8.  Initialize
	mouse pointer shapes.  Change values of f->left_pos and
	f->top_pos.  Don't use make_mac_frame.  Use NewCWindow.  Don't
	call ShowWindow.
	(mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from
	Vinvocation_name and Vsystem_name.
	(mac_make_rdb): New function (from w32term.c).
	(mac_term_init): Use it.  Add BLOCK_INPUT.  Error if display has
	already been opened.  Don't pass argument to
	mac_initialize_display_info.  Don't set dpyinfo->height/width.
	Add entries to x_display_list and x_display_name_list.
	(x_delete_display): New function.
	(mac_initialize): Don't call mac_initialize_display_info.
	(syms_of_macterm) [!MAC_OSX]: Don't call Fprovide.
* macterm.h (check_mac): Add extern.
	(struct mac_output): New member size_hints.
	(FRAME_SIZE_HINTS): New macro.
	(mac_unload_font): Add extern.
* xdisp.c (expose_window, expose_frame): Remove kludges for Mac.
* xfaces.c (clear_font_table) [MAC_OS]: call mac_unload_font.
2004-12-27 17:27:30 +00:00
Steven Tamm
d8f96db8da * macterm.h (cfstring_create_with_utf8_cstring): Added prototype.
* image.c (image_load_quartz2d): Use
cfstring_create_with_utf8_cstring
* macmenu.c (add_menu_item): Use
cfstring_create_with_utf8_cstring
* macfns.c (x_set_name, x_set_title): Use
cfstring_create_with_utf8_cstring
(Fx_file_dialog): Use cfstring_create_with_utf8_cstring and use
constant CFRefs instead of creating them each time for labels.
* mac.c (cfstring_create_with_utf8_cstring): Added to prevent
crashes with invalid characters.
2004-12-03 17:00:11 +00:00
Steven Tamm
c3f4c690b6 macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow
(x_lower_frame): Add BLOCK_INPUT around SendBehind
  (make_mac_frame): Add BLOCK_INPUT around the making of a
  terminal frame
  (mac_initialize): Add BLOCK_INPUT around carbon initialization
macgui.h (mktime): Use emacs_mktime
macfns.c (Fx_file_dialog): Add BLOCK_INPUT around more code.
  Make a cancel file-open dialog be like C-g.
mac.c (mktime): Use emacs_mktime
  (Fdo_applescript): Add BLOCK_INPUT around do_applescript
  (Fmac_paste_function): Add better error handling for carbon
  cut/paste
2004-10-10 16:56:21 +00:00
Steven Tamm
f7f3a65fc0 config.in (HAVE_MALLOC_MALLOC_H): Regenerate
macterm.c (mac_check_for_quit_char): Remove warning for using
  NULL where 0 should be used
unexmacosx.c: Use malloc/malloc.h on Tiger instead of
  objc/malloc.h
mac.c: Include time.h for Tiger compatibility
2004-10-08 18:38:17 +00:00
Steven Tamm
bfcf660801 mac.c (sys_select): Block input around call to
ReceiveNextEvent to prevent breakage.  Correctly handle
blocking on event queue only by calling ReceiveNextEvent
instead of select (since GUI events aren't on an fd).
(sys_read): Remove function
sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON
2004-07-19 06:38:14 +00:00
Steven Tamm
bde32f3bb4 Fixing typo in sys_select. 2004-07-19 05:20:01 +00:00
Steven Tamm
e082ac9deb Fixes for Ctrl-G support on carbon, replacing old timeout based polling
with alarm based polling.
mac.c (sys_select): Redo sys_select to use alarm-based
polling instead of 1 sec timeouts (like solaris).
macterm.c (x_make_frame_visible): Comment in polling on
frame creation.
keyboard.c: Undef SIGIO on Carbon
atimer.c (alarm_signal_handler): Call alarm handlers after
scheduling.
eval.c (Feval): Remove quit_char test
process.c (wait_reading_process_input): Remove clearing
stdin for select call on process input
2004-07-19 04:42:43 +00:00
Lars Hansen
49e7a2c0b1 (struct my_group): Added.
(getgrgid): Added.
2003-11-22 23:00:59 +00:00
Miles Bader
ab5796a9f9 Add arch taglines 2003-09-01 15:45:59 +00:00
Steven Tamm
e8f2574565 mac.c (init_mac_osx_environment): Switch libexec and bin so that self-
cohntained application find libexec files.
2003-04-08 16:11:37 +00:00
Juanma Barranquero
177c0ea743 Trailing whitespace deleted. 2003-02-04 14:56:31 +00:00
Steven Tamm
96720f09ea * macterm.c (mac_check_for_quit_char): Correctly set the
modifiers of the event to 0.
	* mac.c (sys_select): Duplicate rfds before calling select to
	ensure that rfds survive the while loop.
2002-12-12 17:10:34 +00:00
Steven Tamm
88069dff55 Modifying sys_read to not check the event queue if timeout=0 and to never
use a timeout larger than the one passed in.
2002-12-10 18:03:49 +00:00
Steven Tamm
2eb46b2df2 Fixed OSX sys_read to not call select if IO is non-blocking 2002-12-10 16:48:04 +00:00
Steven Tamm
2b187eacbe sys_select: Call mac_check_for_quit_char every second while blocking
sys_read: Use sys_select to test for input first before calling read to
allow sys_select to test for quit_char.
2002-12-08 05:58:34 +00:00
Juanma Barranquero
7d0393cf12 Fix typo in comment. 2002-10-18 10:09:43 +00:00
Andrew Choi
1000788b7b 2002-08-15 Andrew Choi <akochoi@shaw.ca>
* mac.c (init_mac_osx_environment): New function.

        * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
2002-08-16 02:30:21 +00:00
Andrew Choi
8030369ccb 2002-08-10 Andrew Choi <akochoi@shaw.ca>
* mac.c (sys_select) [MAC_OSX]: New function.

	* macterm.c (MakeMeTheFrontProcess): New function.
	(mac_initialize): Call MakeMeTheFrontProcess.

	* s/darwin.h: Define select to sys_select.
2002-08-11 00:26:24 +00:00
Andrew Choi
3642668990 2002-08-02 Andrew Choi <akochoi@shaw.ca>
* mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
2002-08-02 20:34:38 +00:00
Ken Raeburn
d5db40779d Most uses of XSTRING combined with STRING_BYTES or indirection changed to
SCHARS, SBYTES, STRING_INTERVALS, SREF, SDATA; explicit size_byte references
left unchanged for now.
2002-07-15 00:01:34 +00:00
Andrew Choi
84c0c2cc3c 2002-06-17 Andrew Choi <akochoi@shaw.ca>
* mac.c (do_applescript): Call initialize_applescript if necessary
        when first called.  Dispose of result_desc only when there is no
        error.
        (Fdo_applescript): Use %d format specifier instead of %ld.
2002-06-17 06:06:03 +00:00
Andrew Choi
f00691a3e4 In src/:
2002-06-16  Andrew Choi  <akochoi@shaw.ca>

        * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
        Vdefault_fontset to Monaco with mac-roman coding.

        * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
        init_process before and after inclusion of Carbon/Carbon.h, resp.

        * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
        cursor_gc.
        (add_font_name_table_entry): New function.
        (init_font_name_table): Use add_font_name_table_entry; add italic,
        bold, and bold-italic entries for truetype fonts.

        * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
        for Mac too.
        (try_font_list) [MAC_OS]: If no font matches given registry, try
        fonts with any registry matching face_family.
        (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font
        here.

        * s/darwin.h: If autoconf detects the Ncurses library, define
        LIBS_TERMCAP to -lncurses to use it.

In lisp/:

2002-06-16  Andrew Choi  <akochoi@shaw.ca>

        * term/mac-win.el (scalable-fonts-allowed): Set to t.
2002-06-16 23:08:57 +00:00
Pavel Janík
14bda6dbbf (mac-cut-function): Doc fix. 2002-05-06 06:49:11 +00:00
Stefan Monnier
141f653a89 (run_mac_command): Update call to openp. 2002-04-30 01:01:11 +00:00
Andrew Choi
e0f712ba55 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
lisp/ChangeLog, and src/ChangeLog for list of changes.
2002-04-26 23:39:06 +00:00
Renamed from mac/src/mac.c (Browse further)