diff lisp/term/mac-win.el @ 83619:5da6a46ddbd6

* s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here. * termhooks.h (union display_info): Add mac_display_info. * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD is defined. * macterm.h (struct mac_display_info): Add terminal. * w32term.c (w32_initialize): Make static. * macterm.c (XTset_terminal_modes): Add a terminal parameter. (XTreset_terminal_modes): Likewise. (x_clear_frame): Add a frame parameter. (note_mouse_movement): Get rif from the frame. (mac_term_init): Initialize the terminal. (mac_initialize): Make static and move terminal initialization ... (mac_create_terminal): ... in this new function. * macmenu.c: Reorder includes. (Fx_popup_menu): Use terminal specific mouse_position_hook. * macfns.c (x_set_mouse_color): Get rif from the frame. (x_set_tool_bar_lines): Don't use updating_frame. (mac_window): Add 2 new parameters for consistency with other systems. (Fx_create_frame): Fix doc string. Rename the parameter. (Fx_create_frame): Set the frame parameters following what is done in X11 and w32. (Fx_open_connection): Remove window-system check. (start_hourglass): Likewise. (x_create_tip_frame): Get the keyboard from the terminal. * w32fns.c (Fx_create_frame): Use kboard from the terminal. * term/mac-win.el: Provide mac-win. (mac-initialized): New variable. (mac-initialize-window-system): New function. Move global setup here. (handle-args-function-alist, frame-creation-function-alist): (window-system-initialization-alist): Add mac entries. * loadup.el: Load mac-win on a Mac.
author Dan Nicolaescu <dann@ics.uci.edu>
date Sat, 19 May 2007 19:08:02 +0000
parents 41aaac7180d5
children ce4352d8bee9
line wrap: on
line diff
--- a/lisp/term/mac-win.el	Thu May 17 14:19:43 2007 +0000
+++ b/lisp/term/mac-win.el	Sat May 19 19:08:02 2007 +0000
@@ -65,8 +65,8 @@
 ;; An alist of X options and the function which handles them.  See
 ;; ../startup.el.
 
-(if (not (eq window-system 'mac))
-    (error "%s: Loading mac-win.el but not compiled for Mac" (invocation-name)))
+;; (if (not (eq window-system 'mac))
+;;     (error "%s: Loading mac-win.el but not compiled for Mac" (invocation-name)))
 
 (require 'frame)
 (require 'mouse)
@@ -2594,13 +2594,23 @@
 
 (defun x-win-suspend-error ()
   (error "Suspending an Emacs running under Mac makes no sense"))
+
+(defalias 'x-cut-buffer-or-selection-value 'x-get-selection-value)
+
+(defvar mac-initialized nil
+  "Non-nil if the w32 window system has been initialized.")
+
+(defun mac-initialize-window-system ()
+  "Initialize Emacs for Mac GUI frames."
+
 (add-hook 'suspend-hook 'x-win-suspend-error)
 
 ;;; Arrange for the kill and yank functions to set and check the clipboard.
 (setq interprogram-cut-function 'x-select-text)
 (setq interprogram-paste-function 'x-get-selection-value)
 
-(defalias 'x-cut-buffer-or-selection-value 'x-get-selection-value)
+
+
 
 ;;; Turn off window-splitting optimization; Mac is usually fast enough
 ;;; that this is only annoying.
@@ -2616,6 +2626,7 @@
 ;; Enable CLIPBOARD copy/paste through menu bar commands.
 (menu-bar-enable-clipboard)
 
+
 ;; Initiate drag and drop
 
 (define-key special-event-map [drag-n-drop] 'mac-dnd-handle-drag-n-drop-event)
@@ -2637,6 +2648,8 @@
 (global-unset-key [vertical-scroll-bar drag-mouse-1])
 (global-unset-key [vertical-scroll-bar mouse-1])
 
+(setq mac-initialized t)))
+
 (defun mac-handle-scroll-bar-event (event)
   "Handle scroll bar EVENT to emulate Mac Toolbox style scrolling."
   (interactive "e")
@@ -2683,7 +2696,6 @@
     (mac-scroll-ignore-events)
     (scroll-up 1)))
 
-)
 
 
 ;;;; Others
@@ -2721,5 +2733,11 @@
 ;; or bold bitmap versions will not display these variants correctly.
 (setq scalable-fonts-allowed t)
 
+(add-to-list 'handle-args-function-alist '(mac . x-handle-args))
+(add-to-list 'frame-creation-function-alist '(mac . x-create-frame-with-faces))
+(add-to-list 'window-system-initialization-alist '(mac . mac-initialize-window-system))
+
+(provide 'mac-win)
+
 ;; arch-tag: 71dfcd14-cde8-4d66-b05c-85ec94fb23a6
 ;;; mac-win.el ends here