]> git.eshelyaron.com Git - emacs.git/commitdiff
Andrew Choi <akochoi@i-cable.com>
authorAndrew Choi <akochoi@shaw.ca>
Mon, 23 Oct 2000 17:49:59 +0000 (17:49 +0000)
committerAndrew Choi <akochoi@shaw.ca>
Mon, 23 Oct 2000 17:49:59 +0000 (17:49 +0000)
        * international/mule-conf.el (mac-roman-lower, mac-roman-upper):
        New charsets.

        * term/mac-win.el: Remove definitions of mac-roman-lower and
        mac-roman-upper, require dired, and define instead of set
        mac-ready-for-drag-n-drop to avoid compilation error.

        * src/macterm.c (XTread_socket): check whether Lisp variable
        mac-ready-for-drag-n-drop is bound rather than non-nil value.

lisp/ChangeLog
lisp/international/mule-conf.el
lisp/term/mac-win.el
mac/ChangeLog
mac/src/macterm.c

index eb5f45276ab9a9885352d2dfd557fcc482f075c9..989028d68aad6402e6f97e565b8e196652bc7f88 100644 (file)
@@ -1,3 +1,12 @@
+2000-10-24  Andrew Choi  <akochoi@i-cable.com>
+
+       * international/mule-conf.el (mac-roman-lower, mac-roman-upper):
+       New charsets.
+
+       * term/mac-win.el: Remove definitions of mac-roman-lower and
+       mac-roman-upper, require dired, and define instead of set
+       mac-ready-for-drag-n-drop to avoid compilation error.
+
 2000-10-23  Andrew Innes  <andrewi@gnu.org>
 
        * files.el (make-backup-file-name-1) [windowsnt, ms-dos]: Remove
index 8b2c5da5bcd4098e5cd1be5a7340d33e8ab13ab0..fb619a45dae9ff46583bc501432580f63faea7b8 100644 (file)
 (define-charset 167 'lao
   [1 94 1 0 ?1 0 "Lao" "Lao" "Lao characters (ISO10646 0E80..0EDF)"])
 
-;; CHARSET-IDs 168..223 are not used.
+;; Mac Roman.  Mac Roman uses all upper 128 characters.  Emacs can
+;; handle it by using two characters sets: mac-roman-lower for code
+;; points 128 to 159 and mac-roman-upper for code points 160 to 255.
+(define-charset 168 'mac-roman-lower
+  [1 96 1 0 ?3 1 "Mac Roman lower" "Mac Roman lower" "Mac Roman lower"])
+
+(define-charset 169 'mac-roman-upper
+  [1 96 1 0 ?4 1 "Mac Roman upper" "Mac Roman upper" "Mac Roman upper"])
+
+;; CHARSET-IDs 170..223 are not used.
 
 ;; 1-byte 2-column charsets.  Valid range of CHARSET-ID is 224..239.
 
index f44e0d77b3c20035bfb502eb0bdecd54deb4f181..c214b5f53368167d5fc9c376726730a41c062f2c 100644 (file)
 ;; Use Lisp verison of ls instead of calling subprocess on ls (faster,
 ;; don't need to write ls).
 (load "ls-lisp")
+
+(require 'dired)
+
 ;; This variable specifies the Unix program to call (as a process) to
 ;; deteremine the amount of free space on a file system (defaults to
 ;; df).  If it is not set to nil, ls-lisp will not work correctly
 ;; library to use a single frame.
 (ediff-toggle-multiframe)
 
-;; Emacs must be told we're using an 8-bit code for file names.
-;; Otherwise file names won't be displayed properly in dired mode,
-;; etc.
-(setq file-name-coding-system 'latin-1)
-
 ;; Setup to use the Mac clipboard.  The functions mac-cut-function and
 ;; mac-paste-function are defined in mac.c.
 (set-selection-coding-system 'compound-text-mac)
@@ -158,8 +156,14 @@ Switch to a buffer editing the last file dropped."
 
 (global-set-key [drag-n-drop] 'mac-drag-n-drop)
 
-; Tell event loop in macterm.c we are ready.
-(setq mac-ready-for-drag-n-drop t)
+;; By checking whether the variable mac-ready-for-drag-n-drop has been
+;; defined, the event loop in macterm.c can be informed that it can
+;; now receive Finder drag and drop events.  Files dropped onto the
+;; Emacs application icon can only be processed when the initial frame
+;; has been created: this is where the files should be opened.
+(add-hook 'after-init-hook
+         '(lambda ()
+            (defvar mac-ready-for-drag-n-drop t)))
 
 ; Define constant values to be set to mac-keyboard-text-encoding
 (defconst kTextEncodingMacRoman 0)
@@ -173,20 +177,6 @@ Switch to a buffer editing the last file dropped."
 ;; mac-roman-lower for code points 128 to 159 and mac-roman-upper for
 ;; code points 160 to 255.
 
-(defvar mac-roman-lower-final-char
-  (get-unused-iso-final-char 1 96))
-
-(defvar mac-roman-upper-final-char
-  (1+ mac-roman-lower-final-char))
-
-(define-charset nil 'mac-roman-lower
-  (vector 1 96 1 0 mac-roman-lower-final-char 1
-     "Mac Roman lower" "Mac Roman lower" "Mac Roman lower"))
-
-(define-charset nil 'mac-roman-upper
-  (vector 1 96 1 0 mac-roman-upper-final-char 1
-     "Mac Roman upper" "Mac Roman upper" "Mac Roman upper"))
-
 ;; Since Mac Roman does not follow the ISO 2022 standard and uses code
 ;; points in the range 128-159, it is necessary to define it as a
 ;; type-4 charset, with CCL programs and all.
index 9ccf9efb5d3811f8d7a03f6c7aedc388380cd61f..7c2021bf340bc23579c023f70f8db2331b52cc33 100644 (file)
@@ -1,3 +1,8 @@
+2000-10-24  Andrew Choi  <akochoi@i-cable.com>
+
+       * src/macterm.c (XTread_socket): check whether Lisp variable
+       mac-ready-for-drag-n-drop is bound rather than non-nil value.
+
 2000-10-20  Andrew Choi  <akochoi@users.sourceforge.net>
 
        * INSTALL: New file.
index 194af28b91d791f46a989eb603ed3e22e44c4c84..a23cf354b2108e2c8844b38e1d9fa46e2724b5b8 100644 (file)
@@ -11123,7 +11123,7 @@ int current_mac_keyboard_text_encoding = kTextEncodingMacRoman;
 
 /* Set in term/mac-win.el to indicate that event loop can now generate
    drag and drop events.  */
-Lisp_Object Vmac_ready_for_drag_n_drop;
+Lisp_Object Qmac_ready_for_drag_n_drop;
 
 Lisp_Object drag_and_drop_file_list;
 
@@ -11769,7 +11769,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
   bufp->arg = Qnil;
 
   event_mask = everyEvent;
-  if (NILP (Vmac_ready_for_drag_n_drop))
+  if (NILP (Fboundp (Qmac_ready_for_drag_n_drop)))
     event_mask -= highLevelEventMask;
 
   if (WaitNextEvent (event_mask, &er, (expected ? app_sleep_time : 0L), NULL))
@@ -12038,7 +12038,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
 
       case kHighLevelEvent:
         drag_and_drop_file_list = Qnil;
-        
+
         AEProcessAppleEvent(&er);
         
         /* Build a drag_n_drop type event as is done in
@@ -12392,6 +12392,9 @@ syms_of_macterm ()
   staticpro (&last_mouse_press_frame);
   last_mouse_press_frame = Qnil;
 
+  Qmac_ready_for_drag_n_drop = intern ("mac-ready-for-drag-n-drop");
+  staticpro (&Qmac_ready_for_drag_n_drop);
+
   help_echo = Qnil;
   staticpro (&help_echo);
   help_echo_object = Qnil;
@@ -12424,11 +12427,6 @@ wide as that tab on the display.");
 Otherwise the option key is used.");
   Vmac_command_key_is_meta = Qt;
 
-  DEFVAR_LISP ("mac-ready-for-drag-n-drop", &Vmac_ready_for_drag_n_drop,
-    "Non-nil indicates that the Mac event loop can now generate drag and\n\
-drop events.  Set in term/mac-win.el.");
-  Vmac_ready_for_drag_n_drop = Qnil;
-
   DEFVAR_INT ("mac-keyboard-text-encoding", &mac_keyboard_text_encoding,
     "One of the Text Encoding Base constant values defined in the\n\
 Basic Text Constants section of Inside Macintosh - Text Encoding\n\