annotate lisp/term/mac-win.el @ 96147:27b1a24abf23

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Sat, 21 Jun 2008 11:15:04 +0000
parents e7b40b183291
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
91856
4bd7a871cf03 Fix coding tag.
Jason Rumney <jasonr@gnu.org>
parents: 91441
diff changeset
1 ;;; mac-win.el --- parse switches controlling interface with Mac window system -*-coding: utf-8-*-
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
2
95838
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
3 ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
4 ;; 2008 Free Software Foundation, Inc.
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
5
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39101
diff changeset
6 ;; Author: Andrew Choi <akochoi@mac.com>
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
7 ;; Keywords: terminals
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
8
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
9 ;; This file is part of GNU Emacs.
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
10
94671
f3ab0c2464f5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94307
diff changeset
11 ;; GNU Emacs is free software: you can redistribute it and/or modify
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
94671
f3ab0c2464f5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94307
diff changeset
13 ;; the Free Software Foundation, either version 3 of the License, or
f3ab0c2464f5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94307
diff changeset
14 ;; (at your option) any later version.
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
15
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
19 ;; GNU General Public License for more details.
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
20
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
94671
f3ab0c2464f5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94307
diff changeset
22 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
23
38436
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 34467
diff changeset
24 ;;; Commentary:
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 34467
diff changeset
25
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
26 ;; Mac-win.el: this file is loaded from ../lisp/startup.el when it recognizes
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
27 ;; that Mac windows are to be used. Command line switches are parsed and those
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
28 ;; pertaining to Mac are processed and removed from the command line. The
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
29 ;; Mac display is opened and hooks are set for popping up the initial window.
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
30
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
31 ;; startup.el will then examine startup files, and eventually call the hooks
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
32 ;; which create the first window(s).
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
33
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
34 ;;; Code:
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
35
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
36 ;; These are the standard X switches from the Xt Initialize.c file of
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
37 ;; Release 4.
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
38
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
39 ;; Command line Resource Manager string
38930
9cf07e15b208 2001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
Andrew Choi <akochoi@shaw.ca>
parents: 38436
diff changeset
40
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
41 ;; +rv *reverseVideo
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
42 ;; +synchronous *synchronous
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
43 ;; -background *background
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
44 ;; -bd *borderColor
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
45 ;; -bg *background
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
46 ;; -bordercolor *borderColor
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
47 ;; -borderwidth .borderWidth
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
48 ;; -bw .borderWidth
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
49 ;; -display .display
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
50 ;; -fg *foreground
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
51 ;; -fn *font
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
52 ;; -font *font
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
53 ;; -foreground *foreground
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
54 ;; -geometry .geometry
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
55 ;; -iconic .iconic
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
56 ;; -name .name
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
57 ;; -reverse *reverseVideo
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
58 ;; -rv *reverseVideo
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
59 ;; -selectionTimeout .selectionTimeout
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
60 ;; -synchronous *synchronous
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
61 ;; -xrm
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
62
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
63 ;; An alist of X options and the function which handles them. See
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
64 ;; ../startup.el.
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
65
83619
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83565
diff changeset
66 ;; (if (not (eq window-system 'mac))
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83565
diff changeset
67 ;; (error "%s: Loading mac-win.el but not compiled for Mac" (invocation-name)))
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
68
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
69 (require 'frame)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
70 (require 'mouse)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
71 (require 'scroll-bar)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
72 (require 'faces)
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
73 (require 'select)
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
74 (require 'menu-bar)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
75 (require 'fontset)
61497
c47b59f4f76f (dnd): Require dnd
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61335
diff changeset
76 (require 'dnd)
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
77
65256
eb3fe804bd18 (mac-charset-info-alist, mac-services-selection, mac-system-script-code):
Juanma Barranquero <lekktu@gmail.com>
parents: 64701
diff changeset
78 (defvar mac-charset-info-alist)
70559
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
79 (defvar mac-service-selection)
65256
eb3fe804bd18 (mac-charset-info-alist, mac-services-selection, mac-system-script-code):
Juanma Barranquero <lekktu@gmail.com>
parents: 64701
diff changeset
80 (defvar mac-system-script-code)
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
81 (defvar mac-apple-event-map)
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
82 (defvar mac-font-panel-mode)
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
83 (defvar mac-ts-active-input-overlay)
80523
393b3d64ca25 (mac-ts-active-input-buf): Move defvar to macterm.c.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80504
diff changeset
84 (defvar mac-ts-active-input-buf)
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
85 (defvar x-invocation-args)
86289
8a7ed478f7bc * international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents: 86277
diff changeset
86 (declare-function mac-code-convert-string "mac.c")
8a7ed478f7bc * international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents: 86277
diff changeset
87 (declare-function mac-coerce-ae-data "mac.c")
8a7ed478f7bc * international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents: 86277
diff changeset
88 (declare-function mac-resume-apple-event "macselect.c")
86292
caa8713ae325 (mac-font-panel-mode): Fix declaration.
Glenn Morris <rgm@gnu.org>
parents: 86289
diff changeset
89 ;; Suppress warning when compiling on non-Mac.
caa8713ae325 (mac-font-panel-mode): Fix declaration.
Glenn Morris <rgm@gnu.org>
parents: 86289
diff changeset
90 (declare-function mac-font-panel-mode "mac-win.el")
86289
8a7ed478f7bc * international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents: 86277
diff changeset
91 (declare-function mac-atsu-font-face-attributes "macfns.c")
8a7ed478f7bc * international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents: 86277
diff changeset
92 (declare-function mac-ae-set-reply-parameter "macselect.c")
8a7ed478f7bc * international/titdic-cnv.el (dos-8+3-filename):
Dan Nicolaescu <dann@ics.uci.edu>
parents: 86277
diff changeset
93 (declare-function mac-clear-font-name-table "macfns.c")
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
94
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
95 (defvar x-command-line-resources nil)
56887
25a1d37d22fb Add ASCII equivalents for some function keys.
Steven Tamm <steventamm@mac.com>
parents: 56373
diff changeset
96
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
97 ;; Handler for switches of the form "-switch value" or "-switch".
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
98 (defun x-handle-switch (switch)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
99 (let ((aelt (assoc switch command-line-x-option-alist)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
100 (if aelt
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
101 (let ((param (nth 3 aelt))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
102 (value (nth 4 aelt)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
103 (if value
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
104 (setq default-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
105 (cons (cons param value)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
106 default-frame-alist))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
107 (setq default-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
108 (cons (cons param
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
109 (car x-invocation-args))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
110 default-frame-alist)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
111 x-invocation-args (cdr x-invocation-args)))))))
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
112
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
113 ;; Handler for switches of the form "-switch n"
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
114 (defun x-handle-numeric-switch (switch)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
115 (let ((aelt (assoc switch command-line-x-option-alist)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
116 (if aelt
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
117 (let ((param (nth 3 aelt)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
118 (setq default-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
119 (cons (cons param
62402
a7e02ef1e3d6 Replace `string-to-int' by `string-to-number'.
Juanma Barranquero <lekktu@gmail.com>
parents: 62291
diff changeset
120 (string-to-number (car x-invocation-args)))
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
121 default-frame-alist)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
122 x-invocation-args
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
123 (cdr x-invocation-args))))))
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
124
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
125 ;; Handle options that apply to initial frame only
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
126 (defun x-handle-initial-switch (switch)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
127 (let ((aelt (assoc switch command-line-x-option-alist)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
128 (if aelt
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
129 (let ((param (nth 3 aelt))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
130 (value (nth 4 aelt)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
131 (if value
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
132 (setq initial-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
133 (cons (cons param value)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
134 initial-frame-alist))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
135 (setq initial-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
136 (cons (cons param
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
137 (car x-invocation-args))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
138 initial-frame-alist)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
139 x-invocation-args (cdr x-invocation-args)))))))
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
140
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
141 ;; Make -iconic apply only to the initial frame!
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
142 (defun x-handle-iconic (switch)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
143 (setq initial-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
144 (cons '(visibility . icon) initial-frame-alist)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
145
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
146 ;; Handle the -xrm option.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
147 (defun x-handle-xrm-switch (switch)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
148 (unless (consp x-invocation-args)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
149 (error "%s: missing argument to `%s' option" (invocation-name) switch))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
150 (setq x-command-line-resources
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
151 (if (null x-command-line-resources)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
152 (car x-invocation-args)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
153 (concat x-command-line-resources "\n" (car x-invocation-args))))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
154 (setq x-invocation-args (cdr x-invocation-args)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
155
95838
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
156 (declare-function x-parse-geometry "frame.c" (string))
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
157
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
158 ;; Handle the geometry option
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
159 (defun x-handle-geometry (switch)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
160 (let* ((geo (x-parse-geometry (car x-invocation-args)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
161 (left (assq 'left geo))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
162 (top (assq 'top geo))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
163 (height (assq 'height geo))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
164 (width (assq 'width geo)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
165 (if (or height width)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
166 (setq default-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
167 (append default-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
168 '((user-size . t))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
169 (if height (list height))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
170 (if width (list width)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
171 initial-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
172 (append initial-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
173 '((user-size . t))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
174 (if height (list height))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
175 (if width (list width)))))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
176 (if (or left top)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
177 (setq initial-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
178 (append initial-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
179 '((user-position . t))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
180 (if left (list left))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
181 (if top (list top)))))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
182 (setq x-invocation-args (cdr x-invocation-args))))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
183
95838
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
184 (defvar x-resource-name)
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
185
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
186 ;; Handle the -name option. Set the variable x-resource-name
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
187 ;; to the option's operand; set the name of
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
188 ;; the initial frame, too.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
189 (defun x-handle-name-switch (switch)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
190 (or (consp x-invocation-args)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
191 (error "%s: missing argument to `%s' option" (invocation-name) switch))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
192 (setq x-resource-name (car x-invocation-args)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
193 x-invocation-args (cdr x-invocation-args))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
194 (setq initial-frame-alist (cons (cons 'name x-resource-name)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
195 initial-frame-alist)))
58644
14b3f432fd7e * term/mac-win.el (ccl-encode-mac-roman-font)
Steven Tamm <steventamm@mac.com>
parents: 56887
diff changeset
196
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
197 (defvar x-display-name nil
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
198 "The display name specifying server and frame.")
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
199
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
200 (defun x-handle-display (switch)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
201 (setq x-display-name (car x-invocation-args)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
202 x-invocation-args (cdr x-invocation-args)))
58644
14b3f432fd7e * term/mac-win.el (ccl-encode-mac-roman-font)
Steven Tamm <steventamm@mac.com>
parents: 56887
diff changeset
203
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
204 (defun x-handle-args (args)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
205 "Process the X-related command line options in ARGS.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
206 This is done before the user's startup file is loaded. They are copied to
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
207 `x-invocation-args', from which the X-related things are extracted, first
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
208 the switch (e.g., \"-fg\") in the following code, and possible values
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
209 \(e.g., \"black\") in the option handler code (e.g., x-handle-switch).
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
210 This function returns ARGS minus the arguments that have been processed."
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
211 ;; We use ARGS to accumulate the args that we don't handle here, to return.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
212 (setq x-invocation-args args
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
213 args nil)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
214 (while (and x-invocation-args
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
215 (not (equal (car x-invocation-args) "--")))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
216 (let* ((this-switch (car x-invocation-args))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
217 (orig-this-switch this-switch)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
218 completion argval aelt handler)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
219 (setq x-invocation-args (cdr x-invocation-args))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
220 ;; Check for long options with attached arguments
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
221 ;; and separate out the attached option argument into argval.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
222 (if (string-match "^--[^=]*=" this-switch)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
223 (setq argval (substring this-switch (match-end 0))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
224 this-switch (substring this-switch 0 (1- (match-end 0)))))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
225 ;; Complete names of long options.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
226 (if (string-match "^--" this-switch)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
227 (progn
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
228 (setq completion (try-completion this-switch command-line-x-option-alist))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
229 (if (eq completion t)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
230 ;; Exact match for long option.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
231 nil
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
232 (if (stringp completion)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
233 (let ((elt (assoc completion command-line-x-option-alist)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
234 ;; Check for abbreviated long option.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
235 (or elt
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
236 (error "Option `%s' is ambiguous" this-switch))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
237 (setq this-switch completion))))))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
238 (setq aelt (assoc this-switch command-line-x-option-alist))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
239 (if aelt (setq handler (nth 2 aelt)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
240 (if handler
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
241 (if argval
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
242 (let ((x-invocation-args
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
243 (cons argval x-invocation-args)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
244 (funcall handler this-switch))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
245 (funcall handler this-switch))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
246 (setq args (cons orig-this-switch args)))))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
247 (nconc (nreverse args) x-invocation-args))
60620
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
248
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
249
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
250 ;;
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
251 ;; Standard Mac cursor shapes
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
252 ;;
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
253
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
254 (defconst mac-pointer-arrow 0)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
255 (defconst mac-pointer-copy-arrow 1)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
256 (defconst mac-pointer-alias-arrow 2)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
257 (defconst mac-pointer-contextual-menu-arrow 3)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
258 (defconst mac-pointer-I-beam 4)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
259 (defconst mac-pointer-cross 5)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
260 (defconst mac-pointer-plus 6)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
261 (defconst mac-pointer-watch 7)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
262 (defconst mac-pointer-closed-hand 8)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
263 (defconst mac-pointer-open-hand 9)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
264 (defconst mac-pointer-pointing-hand 10)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
265 (defconst mac-pointer-counting-up-hand 11)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
266 (defconst mac-pointer-counting-down-hand 12)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
267 (defconst mac-pointer-counting-up-and-down-hand 13)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
268 (defconst mac-pointer-spinning 14)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
269 (defconst mac-pointer-resize-left 15)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
270 (defconst mac-pointer-resize-right 16)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
271 (defconst mac-pointer-resize-left-right 17)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
272 ;; Mac OS X 10.2 and later
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
273 (defconst mac-pointer-not-allowed 18)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
274 ;; Mac OS X 10.3 and later
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
275 (defconst mac-pointer-resize-up 19)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
276 (defconst mac-pointer-resize-down 20)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
277 (defconst mac-pointer-resize-up-down 21)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
278 (defconst mac-pointer-poof 22)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
279
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
280 ;;
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
281 ;; Standard X cursor shapes that have Mac counterparts
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
282 ;;
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
283
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
284 (defconst x-pointer-left-ptr mac-pointer-arrow)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
285 (defconst x-pointer-xterm mac-pointer-I-beam)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
286 (defconst x-pointer-crosshair mac-pointer-cross)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
287 (defconst x-pointer-plus mac-pointer-plus)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
288 (defconst x-pointer-watch mac-pointer-watch)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
289 (defconst x-pointer-hand2 mac-pointer-pointing-hand)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
290 (defconst x-pointer-left-side mac-pointer-resize-left)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
291 (defconst x-pointer-right-side mac-pointer-resize-right)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
292 (defconst x-pointer-sb-h-double-arrow mac-pointer-resize-left-right)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
293 (defconst x-pointer-top-side mac-pointer-resize-up)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
294 (defconst x-pointer-bottom-side mac-pointer-resize-down)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
295 (defconst x-pointer-sb-v-double-arrow mac-pointer-resize-up-down)
ffb5c0421a14 Add mouse pointer shape constants.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60610
diff changeset
296
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
297
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
298 ;;
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
299 ;; Available colors
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
300 ;;
94850
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
301 ;; The ordering of the colors is chosen for the user's convenience in
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
302 ;; `list-colors-display', which displays the reverse of this list.
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
303 ;; Roughly speaking, `list-colors-display' orders by (i) named shades
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
304 ;; of grey with hue 0.0, sorted by value (ii) named colors with
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
305 ;; saturation 1.0, sorted by hue, (iii) named non-white colors with
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
306 ;; saturation less than 1.0, sorted by hue, (iv) other named shades of
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
307 ;; white, (v) numbered colors sorted by hue, and (vi) numbered shades
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
308 ;; of grey.
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
309
94850
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
310 (defvar x-colors
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
311 '("gray100" "gray99" "gray98" "gray97" "gray96" "gray95" "gray94" "gray93" "gray92"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
312 "gray91" "gray90" "gray89" "gray88" "gray87" "gray86" "gray85" "gray84" "gray83"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
313 "gray82" "gray81" "gray80" "gray79" "gray78" "gray77" "gray76" "gray75" "gray74"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
314 "gray73" "gray72" "gray71" "gray70" "gray69" "gray68" "gray67" "gray66" "gray65"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
315 "gray64" "gray63" "gray62" "gray61" "gray60" "gray59" "gray58" "gray57" "gray56"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
316 "gray55" "gray54" "gray53" "gray52" "gray51" "gray50" "gray49" "gray48" "gray47"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
317 "gray46" "gray45" "gray44" "gray43" "gray42" "gray41" "gray40" "gray39" "gray38"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
318 "gray37" "gray36" "gray35" "gray34" "gray33" "gray32" "gray31" "gray30" "gray29"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
319 "gray28" "gray27" "gray26" "gray25" "gray24" "gray23" "gray22" "gray21" "gray20"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
320 "gray19" "gray18" "gray17" "gray16" "gray15" "gray14" "gray13" "gray12" "gray11"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
321 "gray10" "gray9" "gray8" "gray7" "gray6" "gray5" "gray4" "gray3" "gray2" "gray1"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
322 "gray0" "LightPink1" "LightPink2" "LightPink3" "LightPink4" "pink1" "pink2" "pink3"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
323 "pink4" "PaleVioletRed1" "PaleVioletRed2" "PaleVioletRed3" "PaleVioletRed4"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
324 "LavenderBlush1" "LavenderBlush2" "LavenderBlush3" "LavenderBlush4" "VioletRed1"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
325 "VioletRed2" "VioletRed3" "VioletRed4" "HotPink1" "HotPink2" "HotPink3" "HotPink4"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
326 "DeepPink1" "DeepPink2" "DeepPink3" "DeepPink4" "maroon1" "maroon2" "maroon3"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
327 "maroon4" "orchid1" "orchid2" "orchid3" "orchid4" "plum1" "plum2" "plum3" "plum4"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
328 "thistle1" "thistle2" "thistle3" "thistle4" "MediumOrchid1" "MediumOrchid2"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
329 "MediumOrchid3" "MediumOrchid4" "DarkOrchid1" "DarkOrchid2" "DarkOrchid3"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
330 "DarkOrchid4" "purple1" "purple2" "purple3" "purple4" "MediumPurple1"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
331 "MediumPurple2" "MediumPurple3" "MediumPurple4" "SlateBlue1" "SlateBlue2"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
332 "SlateBlue3" "SlateBlue4" "RoyalBlue1" "RoyalBlue2" "RoyalBlue3" "RoyalBlue4"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
333 "LightSteelBlue1" "LightSteelBlue2" "LightSteelBlue3" "LightSteelBlue4" "SlateGray1"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
334 "SlateGray2" "SlateGray3" "SlateGray4" "DodgerBlue1" "DodgerBlue2" "DodgerBlue3"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
335 "DodgerBlue4" "SteelBlue1" "SteelBlue2" "SteelBlue3" "SteelBlue4" "SkyBlue1"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
336 "SkyBlue2" "SkyBlue3" "SkyBlue4" "LightSkyBlue1" "LightSkyBlue2" "LightSkyBlue3"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
337 "LightSkyBlue4" "LightBlue1" "LightBlue2" "LightBlue3" "LightBlue4" "CadetBlue1"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
338 "CadetBlue2" "CadetBlue3" "CadetBlue4" "azure1" "azure2" "azure3" "azure4"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
339 "LightCyan1" "LightCyan2" "LightCyan3" "LightCyan4" "PaleTurquoise1"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
340 "PaleTurquoise2" "PaleTurquoise3" "PaleTurquoise4" "DarkSlateGray1" "DarkSlateGray2"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
341 "DarkSlateGray3" "DarkSlateGray4" "aquamarine1" "aquamarine2" "aquamarine3"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
342 "aquamarine4" "SeaGreen1" "SeaGreen2" "SeaGreen3" "SeaGreen4" "honeydew1"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
343 "honeydew2" "honeydew3" "honeydew4" "DarkSeaGreen1" "DarkSeaGreen2" "DarkSeaGreen3"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
344 "DarkSeaGreen4" "PaleGreen1" "PaleGreen2" "PaleGreen3" "PaleGreen4"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
345 "DarkOliveGreen1" "DarkOliveGreen2" "DarkOliveGreen3" "DarkOliveGreen4" "OliveDrab1"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
346 "OliveDrab2" "OliveDrab3" "OliveDrab4" "ivory1" "ivory2" "ivory3" "ivory4"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
347 "LightYellow1" "LightYellow2" "LightYellow3" "LightYellow4" "khaki1" "khaki2"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
348 "khaki3" "khaki4" "LemonChiffon1" "LemonChiffon2" "LemonChiffon3" "LemonChiffon4"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
349 "LightGoldenrod1" "LightGoldenrod2" "LightGoldenrod3" "LightGoldenrod4" "cornsilk1"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
350 "cornsilk2" "cornsilk3" "cornsilk4" "goldenrod1" "goldenrod2" "goldenrod3"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
351 "goldenrod4" "DarkGoldenrod1" "DarkGoldenrod2" "DarkGoldenrod3" "DarkGoldenrod4"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
352 "wheat1" "wheat2" "wheat3" "wheat4" "NavajoWhite1" "NavajoWhite2" "NavajoWhite3"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
353 "NavajoWhite4" "burlywood1" "burlywood2" "burlywood3" "burlywood4" "AntiqueWhite1"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
354 "AntiqueWhite2" "AntiqueWhite3" "AntiqueWhite4" "bisque1" "bisque2" "bisque3"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
355 "bisque4" "tan1" "tan2" "tan3" "tan4" "PeachPuff1" "PeachPuff2" "PeachPuff3"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
356 "PeachPuff4" "seashell1" "seashell2" "seashell3" "seashell4" "chocolate1"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
357 "chocolate2" "chocolate3" "chocolate4" "sienna1" "sienna2" "sienna3" "sienna4"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
358 "LightSalmon1" "LightSalmon2" "LightSalmon3" "LightSalmon4" "salmon1" "salmon2"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
359 "salmon3" "salmon4" "coral1" "coral2" "coral3" "coral4" "tomato1" "tomato2"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
360 "tomato3" "tomato4" "MistyRose1" "MistyRose2" "MistyRose3" "MistyRose4" "snow1"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
361 "snow2" "snow3" "snow4" "RosyBrown1" "RosyBrown2" "RosyBrown3" "RosyBrown4"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
362 "IndianRed1" "IndianRed2" "IndianRed3" "IndianRed4" "firebrick1" "firebrick2"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
363 "firebrick3" "firebrick4" "brown1" "brown2" "brown3" "brown4" "magenta1" "magenta2"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
364 "magenta3" "magenta4" "blue1" "blue2" "blue3" "blue4" "DeepSkyBlue1" "DeepSkyBlue2"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
365 "DeepSkyBlue3" "DeepSkyBlue4" "turquoise1" "turquoise2" "turquoise3" "turquoise4"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
366 "cyan1" "cyan2" "cyan3" "cyan4" "SpringGreen1" "SpringGreen2" "SpringGreen3"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
367 "SpringGreen4" "green1" "green2" "green3" "green4" "chartreuse1" "chartreuse2"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
368 "chartreuse3" "chartreuse4" "yellow1" "yellow2" "yellow3" "yellow4" "gold1" "gold2"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
369 "gold3" "gold4" "orange1" "orange2" "orange3" "orange4" "DarkOrange1" "DarkOrange2"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
370 "DarkOrange3" "DarkOrange4" "OrangeRed1" "OrangeRed2" "OrangeRed3" "OrangeRed4"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
371 "red1" "red2" "red3" "red4" "lavender blush" "ghost white" "lavender" "alice blue"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
372 "azure" "light cyan" "mint cream" "honeydew" "ivory" "light goldenrod yellow"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
373 "light yellow" "beige" "floral white" "old lace" "blanched almond" "moccasin"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
374 "papaya whip" "bisque" "antique white" "linen" "peach puff" "seashell" "misty rose"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
375 "snow" "light pink" "pink" "hot pink" "deep pink" "maroon" "pale violet red"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
376 "violet red" "medium violet red" "violet" "plum" "thistle" "orchid" "medium orchid"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
377 "dark orchid" "purple" "blue violet" "medium purple" "light slate blue"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
378 "medium slate blue" "slate blue" "dark slate blue" "midnight blue" "navy"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
379 "dark blue" "light steel blue" "cornflower blue" "dodger blue" "royal blue"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
380 "light slate gray" "slate gray" "dark slate gray" "steel blue" "cadet blue"
94852
92723dccd995 Tweak last change.
Chong Yidong <cyd@stupidchicken.com>
parents: 94850
diff changeset
381 "light sky blue" "sky blue" "light blue" "powder blue" "pale turquoise" "turquoise"
94850
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
382 "medium turquoise" "dark cyan" "aquamarine" "medium aquamarine" "light sea green"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
383 "medium sea green" "sea green" "dark sea green" "pale green" "lime green"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
384 "forest green" "light green" "green yellow" "yellow green" "olive drab"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
385 "dark olive green" "lemon chiffon" "khaki" "dark khaki" "cornsilk"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
386 "pale goldenrod" "light goldenrod" "goldenrod" "dark goldenrod" "wheat"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
387 "navajo white" "tan" "burlywood" "sandy brown" "peru" "chocolate" "saddle brown"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
388 "sienna" "rosy brown" "dark salmon" "coral" "tomato" "light salmon" "salmon"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
389 "light coral" "indian red" "firebrick" "brown" "dark red" "magenta"
94852
92723dccd995 Tweak last change.
Chong Yidong <cyd@stupidchicken.com>
parents: 94850
diff changeset
390 "dark magenta" "dark violet" "medium blue" "blue" "deep sky blue"
94850
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
391 "cyan" "medium spring green" "spring green" "green" "lawn green" "chartreuse"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
392 "yellow" "gold" "orange" "dark orange" "orange red" "red" "white" "white smoke"
eae0a9597713 (x-colors): Re-order colors.
Chong Yidong <cyd@stupidchicken.com>
parents: 94671
diff changeset
393 "gainsboro" "light grey" "gray" "dark grey" "dim gray" "black" )
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
394 "The list of X colors from the `rgb.txt' file.
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
395 XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp")
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
396
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
397 (defun xw-defined-colors (&optional frame)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
398 "Internal function called by `defined-colors', which see."
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
399 (or frame (setq frame (selected-frame)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
400 (let ((all-colors x-colors)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
401 (this-color nil)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
402 (defined-colors nil))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
403 (while all-colors
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
404 (setq this-color (car all-colors)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
405 all-colors (cdr all-colors))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
406 (and (color-supported-p this-color frame t)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
407 (setq defined-colors (cons this-color defined-colors))))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
408 defined-colors))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
409
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
410 ;;;; Function keys
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
411
83620
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
412 (defun x-setup-function-keys (frame)
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
413 "Setup Function Keys for mac."
86251
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
414 ;; Don't do this twice on the same display, or it would break
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
415 ;; normal-erase-is-backspace-mode.
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
416 (unless (terminal-parameter frame 'x-setup-function-keys)
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
417 (with-selected-frame frame
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
418 ;; Map certain keypad keys into ASCII characters
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
419 ;; that people usually expect.
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
420 (define-key local-function-key-map [backspace] [?\d])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
421 (define-key local-function-key-map [delete] [?\d])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
422 (define-key local-function-key-map [tab] [?\t])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
423 (define-key local-function-key-map [linefeed] [?\n])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
424 (define-key local-function-key-map [clear] [?\C-l])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
425 (define-key local-function-key-map [return] [?\C-m])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
426 (define-key local-function-key-map [escape] [?\e])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
427 (define-key local-function-key-map [M-backspace] [?\M-\d])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
428 (define-key local-function-key-map [M-delete] [?\M-\d])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
429 (define-key local-function-key-map [M-tab] [?\M-\t])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
430 (define-key local-function-key-map [M-linefeed] [?\M-\n])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
431 (define-key local-function-key-map [M-clear] [?\M-\C-l])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
432 (define-key local-function-key-map [M-return] [?\M-\C-m])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
433 (define-key local-function-key-map [M-escape] [?\M-\e])
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
434 (substitute-key-definition 'suspend-emacs 'iconify-or-deiconify-frame
ec2f30e07030 * term/mac-win.el (x-setup-function-keys): Only setup
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83758
diff changeset
435 local-function-key-map global-map))
86253
e798647b4c5a Fix typo.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 86251
diff changeset
436 (set-terminal-parameter frame 'x-setup-function-keys t)))
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
437
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
438 ;; These tell read-char how to convert
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
439 ;; these special chars to ASCII.
60610
2e557b2af3db (function-key-map): Sync with x-win.el.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60190
diff changeset
440 (put 'backspace 'ascii-character ?\d)
2e557b2af3db (function-key-map): Sync with x-win.el.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60190
diff changeset
441 (put 'delete 'ascii-character ?\d)
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
442 (put 'tab 'ascii-character ?\t)
60610
2e557b2af3db (function-key-map): Sync with x-win.el.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60190
diff changeset
443 (put 'linefeed 'ascii-character ?\n)
2e557b2af3db (function-key-map): Sync with x-win.el.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60190
diff changeset
444 (put 'clear 'ascii-character ?\C-l)
2e557b2af3db (function-key-map): Sync with x-win.el.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 60190
diff changeset
445 (put 'return 'ascii-character ?\C-m)
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
446 (put 'escape 'ascii-character ?\e)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
447
67099
6c0071d00d11 Make modifier `ctrl' an alias of `control'.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67090
diff changeset
448 ;; Modifier name `ctrl' is an alias of `control'.
6c0071d00d11 Make modifier `ctrl' an alias of `control'.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67090
diff changeset
449 (put 'ctrl 'modifier-value (get 'control 'modifier-value))
6c0071d00d11 Make modifier `ctrl' an alias of `control'.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67090
diff changeset
450
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
451
61556
6b15c97abf1d Don't set file-name-coding-system. Decode variables system-name,
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61502
diff changeset
452 ;;;; Script codes and coding systems
61502
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
453 (defconst mac-script-code-coding-systems
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
454 '((0 . mac-roman) ; smRoman
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
455 (1 . japanese-shift-jis) ; smJapanese
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
456 (2 . chinese-big5) ; smTradChinese
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
457 (3 . korean-iso-8bit) ; smKorean
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
458 (7 . mac-cyrillic) ; smCyrillic
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
459 (25 . chinese-iso-8bit) ; smSimpChinese
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
460 (29 . mac-centraleurroman) ; smCentralEuroRoman
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
461 )
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
462 "Alist of Mac script codes vs Emacs coding systems.")
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
463
61659
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
464 (defun mac-add-charset-info (xlfd-charset mac-text-encoding)
65576
72c8b77fb4f9 (mac-add-charset-info): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65256
diff changeset
465 "Add a character set to display with Mac fonts.
72c8b77fb4f9 (mac-add-charset-info): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65256
diff changeset
466 Create an entry in `mac-charset-info-alist'.
61659
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
467 XLFD-CHARSET is a string which will appear in the XLFD font name
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
468 to identify the character set. MAC-TEXT-ENCODING is the
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
469 correspoinding TextEncodingBase value."
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
470 (add-to-list 'mac-charset-info-alist
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
471 (list xlfd-charset mac-text-encoding
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
472 (cdr (assq mac-text-encoding
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
473 mac-script-code-coding-systems)))))
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
474
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
475 (setq mac-charset-info-alist nil)
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
476 (mac-add-charset-info "mac-roman" 0)
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
477 (mac-add-charset-info "jisx0208.1983-sjis" 1)
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
478 (mac-add-charset-info "jisx0201.1976-0" 1)
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
479 (mac-add-charset-info "big5-0" 2)
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
480 (mac-add-charset-info "ksc5601.1989-0" 3)
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
481 (mac-add-charset-info "mac-cyrillic" 7)
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
482 (mac-add-charset-info "gb2312.1980-0" 25)
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
483 (mac-add-charset-info "mac-centraleurroman" 29)
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
484 (mac-add-charset-info "mac-symbol" 33)
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
485 (mac-add-charset-info "adobe-fontspecific" 33) ; for X-Symbol
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
486 (mac-add-charset-info "mac-dingbats" 34)
65768
592847746fca Add charset info for "iso10646-1". Modify default fontset to use
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 65576
diff changeset
487 (mac-add-charset-info "iso10646-1" 126) ; for ATSUI
61659
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
488
90397
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
489 (define-charset 'mac-centraleurroman
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
490 "Mac Central European Roman"
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
491 :short-name "Mac CE"
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
492 :ascii-compatible-p t
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
493 :code-space [0 255]
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
494 :map
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
495 (let ((tbl
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
496 [?\Ä ?\Ā ?\ā ?\É ?\Ą ?\Ö ?\Ü ?\á ?\ą ?\Č ?\ä ?\č ?\Ć ?\ć ?\é ?\Ź
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
497 ?\ź ?\Ď ?\í ?\ď ?\Ē ?\ē ?\Ė ?\ó ?\ė ?\ô ?\ö ?\õ ?\ú ?\Ě ?\ě ?\ü
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
498 ?\† ?\° ?\Ę ?\£ ?\§ ?\• ?\¶ ?\ß ?\® ?\© ?\™ ?\ę ?\¨ ?\≠ ?\ģ ?\Į
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
499 ?\į ?\Ī ?\≤ ?\≥ ?\ī ?\Ķ ?\∂ ?\∑ ?\ł ?\Ļ ?\ļ ?\Ľ ?\ľ ?\Ĺ ?\ĺ ?\Ņ
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
500 ?\ņ ?\Ń ?\¬ ?\√ ?\ń ?\Ň ?\∆ ?\« ?\» ?\… ?\  ?\ň ?\Ő ?\Õ ?\ő ?\Ō
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
501 ?\– ?\— ?\“ ?\” ?\‘ ?\’ ?\÷ ?\◊ ?\ō ?\Ŕ ?\ŕ ?\Ř ?\‹ ?\› ?\ř ?\Ŗ
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
502 ?\ŗ ?\Š ?\‚ ?\„ ?\š ?\Ś ?\ś ?\Á ?\Ť ?\ť ?\Í ?\Ž ?\ž ?\Ū ?\Ó ?\Ô
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
503 ?\ū ?\Ů ?\Ú ?\ů ?\Ű ?\ű ?\Ų ?\ų ?\Ý ?\ý ?\ķ ?\Ż ?\Ł ?\ż ?\Ģ ?\ˇ])
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
504 (map (make-vector 512 nil)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
505 (or (= (length tbl) 128)
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
506 (error "Invalid vector length: %d" (length tbl)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
507 (dotimes (i 128)
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
508 (aset map (* i 2) i)
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
509 (aset map (1+ (* i 2)) i))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
510 (dotimes (i 128)
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
511 (aset map (+ 256 (* i 2)) (+ 128 i))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
512 (aset map (+ 256 (1+ (* i 2))) (aref tbl i)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
513 map))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
514
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
515 (define-coding-system 'mac-centraleurroman
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
516 "Mac Central European Roman Encoding (MIME:x-mac-centraleurroman)."
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
517 :coding-type 'charset
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
518 :mnemonic ?*
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
519 :charset-list '(mac-centraleurroman)
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
520 :mime-charset 'x-mac-centraleurroman)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
521
90397
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
522 (define-charset 'mac-cyrillic
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
523 "Mac Cyrillic"
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
524 :short-name "Mac CYRILLIC"
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
525 :ascii-compatible-p t
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
526 :code-space [0 255]
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
527 :map
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
528 (let ((tbl
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
529 [?\А ?\Б ?\В ?\Г ?\Д ?\Е ?\Ж ?\З ?\И ?\Й ?\К ?\Л ?\М ?\Н ?\О ?\П
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
530 ?\Р ?\С ?\Т ?\У ?\Ф ?\Х ?\Ц ?\Ч ?\Ш ?\Щ ?\Ъ ?\Ы ?\Ь ?\Э ?\Ю ?\Я
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
531 ?\† ?\° ?\Ґ ?\£ ?\§ ?\• ?\¶ ?\І ?\® ?\© ?\™ ?\Ђ ?\ђ ?\≠ ?\Ѓ ?\ѓ
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
532 ?\∞ ?\± ?\≤ ?\≥ ?\і ?\µ ?\ґ ?\Ј ?\Є ?\є ?\Ї ?\ї ?\Љ ?\љ ?\Њ ?\њ
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
533 ?\ј ?\Ѕ ?\¬ ?\√ ?\ƒ ?\≈ ?\∆ ?\« ?\» ?\… ?\  ?\Ћ ?\ћ ?\Ќ ?\ќ ?\ѕ
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
534 ?\– ?\— ?\“ ?\” ?\‘ ?\’ ?\÷ ?\„ ?\Ў ?\ў ?\Џ ?\џ ?\№ ?\Ё ?\ё ?\я
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
535 ?\а ?\б ?\в ?\г ?\д ?\е ?\ж ?\з ?\и ?\й ?\к ?\л ?\м ?\н ?\о ?\п
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
536 ?\р ?\с ?\т ?\у ?\ф ?\х ?\ц ?\ч ?\ш ?\щ ?\ъ ?\ы ?\ь ?\э ?\ю ?\€])
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
537 (map (make-vector 512 nil)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
538 (or (= (length tbl) 128)
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
539 (error "Invalid vector length: %d" (length tbl)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
540 (dotimes (i 128)
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
541 (aset map (* i 2) i)
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
542 (aset map (1+ (* i 2)) i))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
543 (dotimes (i 128)
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
544 (aset map (+ 256 (* i 2)) (+ 128 i))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
545 (aset map (+ 256 (1+ (* i 2))) (aref tbl i)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
546 map))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
547
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
548 (define-coding-system 'mac-cyrillic
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
549 "Mac Cyrillic Encoding (MIME:x-mac-cyrillic)."
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
550 :coding-type 'charset
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
551 :mnemonic ?*
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
552 :charset-list '(mac-cyrillic)
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
553 :mime-charset 'x-mac-cyrillic)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
554
90397
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
555 (define-charset 'mac-symbol
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
556 "Mac Symbol"
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
557 :short-name "Mac SYMBOL"
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
558 :code-space [32 254]
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
559 :map
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
560 (let ((tbl-32-126
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
561 [?\ ?\! ?\∀ ?\# ?\∃ ?\% ?\& ?\∍ ?\( ?\) ?\∗ ?\+ ?\, ?\− ?\. ?\/
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
562 ?\0 ?\1 ?\2 ?\3 ?\4 ?\5 ?\6 ?\7 ?\8 ?\9 ?\: ?\; ?\< ?\= ?\> ?\?
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
563 ?\≅ ?\Α ?\Β ?\Χ ?\Δ ?\Ε ?\Φ ?\Γ ?\Η ?\Ι ?\ϑ ?\Κ ?\Λ ?\Μ ?\Ν ?\Ο
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
564 ?\Π ?\Θ ?\Ρ ?\Σ ?\Τ ?\Υ ?\ς ?\Ω ?\Ξ ?\Ψ ?\Ζ ?\[ ?\∴ ?\] ?\⊥ ?\_
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
565 ?\ ?\α ?\β ?\χ ?\δ ?\ε ?\φ ?\γ ?\η ?\ι ?\ϕ ?\κ ?\λ ?\μ ?\ν ?\ο
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
566 ?\π ?\θ ?\ρ ?\σ ?\τ ?\υ ?\ϖ ?\ω ?\ξ ?\ψ ?\ζ ?\{ ?\| ?\} ?\∼])
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
567 (map-32-126 (make-vector (* (1+ (- 126 32)) 2) nil))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
568 (tbl-160-254
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
569 ;; Mapping of the following characters are changed from the
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
570 ;; original one:
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
571 ;; 0xE2 0x00AE+0xF87F->0x00AE # REGISTERED SIGN, alternate: sans serif
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
572 ;; 0xE3 0x00A9+0xF87F->0x00A9 # COPYRIGHT SIGN, alternate: sans serif
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
573 ;; 0xE4 0x2122+0xF87F->0x2122 # TRADE MARK SIGN, alternate: sans serif
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
574 [?\€ ?\ϒ ?\′ ?\≤ ?\⁄ ?\∞ ?\ƒ ?\♣ ?\♦ ?\♥ ?\♠ ?\↔ ?\← ?\↑ ?\→ ?\↓
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
575 ?\° ?\± ?\″ ?\≥ ?\× ?\∝ ?\∂ ?\• ?\÷ ?\≠ ?\≡ ?\≈ ?\… ?\⏐ ?\⎯ ?\↵
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
576 ?\ℵ ?\ℑ ?\ℜ ?\℘ ?\⊗ ?\⊕ ?\∅ ?\∩ ?\∪ ?\⊃ ?\⊇ ?\⊄ ?\⊂ ?\⊆ ?\∈ ?\∉
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
577 ?\∠ ?\∇ ?\® ?\© ?\™ ?\∏ ?\√ ?\⋅ ?\¬ ?\∧ ?\∨ ?\⇔ ?\⇐ ?\⇑ ?\⇒ ?\⇓
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
578 ?\◊ ?\〈 ?\® ?\© ?\™ ?\∑ ?\⎛ ?\⎜ ?\⎝ ?\⎡ ?\⎢ ?\⎣ ?\⎧ ?\⎨ ?\⎩ ?\⎪
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
579 ?\ ?\〉 ?\∫ ?\⌠ ?\⎮ ?\⌡ ?\⎞ ?\⎟ ?\⎠ ?\⎤ ?\⎥ ?\⎦ ?\⎫ ?\⎬ ?\⎭])
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
580 (map-160-254 (make-vector (* (1+ (- 254 160)) 2) nil)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
581 (dotimes (i (1+ (- 126 32)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
582 (aset map-32-126 (* i 2) (+ 32 i))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
583 (aset map-32-126 (1+ (* i 2)) (aref tbl-32-126 i)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
584 (dotimes (i (1+ (- 254 160)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
585 (aset map-160-254 (* i 2) (+ 160 i))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
586 (aset map-160-254 (1+ (* i 2)) (aref tbl-160-254 i)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
587 (vconcat map-32-126 map-160-254)))
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
588
90397
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
589 (define-charset 'mac-dingbats
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
590 "Mac Dingbats"
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
591 :short-name "Mac Dingbats"
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
592 :code-space [32 254]
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
593 :map
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
594 (let ((tbl-32-126
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
595 [?\ ?\✁ ?\✂ ?\✃ ?\✄ ?\☎ ?\✆ ?\✇ ?\✈ ?\✉ ?\☛ ?\☞ ?\✌ ?\✍ ?\✎ ?\✏
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
596 ?\✐ ?\✑ ?\✒ ?\✓ ?\✔ ?\✕ ?\✖ ?\✗ ?\✘ ?\✙ ?\✚ ?\✛ ?\✜ ?\✝ ?\✞ ?\✟
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
597 ?\✠ ?\✡ ?\✢ ?\✣ ?\✤ ?\✥ ?\✦ ?\✧ ?\★ ?\✩ ?\✪ ?\✫ ?\✬ ?\✭ ?\✮ ?\✯
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
598 ?\✰ ?\✱ ?\✲ ?\✳ ?\✴ ?\✵ ?\✶ ?\✷ ?\✸ ?\✹ ?\✺ ?\✻ ?\✼ ?\✽ ?\✾ ?\✿
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
599 ?\❀ ?\❁ ?\❂ ?\❃ ?\❄ ?\❅ ?\❆ ?\❇ ?\❈ ?\❉ ?\❊ ?\❋ ?\● ?\❍ ?\■ ?\❏
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
600 ?\❐ ?\❑ ?\❒ ?\▲ ?\▼ ?\◆ ?\❖ ?\◗ ?\❘ ?\❙ ?\❚ ?\❛ ?\❜ ?\❝ ?\❞])
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
601 (map-32-126 (make-vector (* (1+ (- 126 32)) 2) nil))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
602 (tbl-128-141
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
603 [?\❨ ?\❩ ?\❪ ?\❫ ?\❬ ?\❭ ?\❮ ?\❯ ?\❰ ?\❱ ?\❲ ?\❳ ?\❴ ?\❵])
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
604 (map-128-141 (make-vector (* (1+ (- 141 128)) 2) nil))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
605 (tbl-161-239
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
606 [?\❡ ?\❢ ?\❣ ?\❤ ?\❥ ?\❦ ?\❧ ?\♣ ?\♦ ?\♥ ?\♠ ?\① ?\② ?\③ ?\④
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
607 ?\⑤ ?\⑥ ?\⑦ ?\⑧ ?\⑨ ?\⑩ ?\❶ ?\❷ ?\❸ ?\❹ ?\❺ ?\❻ ?\❼ ?\❽ ?\❾ ?\❿
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
608 ?\➀ ?\➁ ?\➂ ?\➃ ?\➄ ?\➅ ?\➆ ?\➇ ?\➈ ?\➉ ?\➊ ?\➋ ?\➌ ?\➍ ?\➎ ?\➏
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
609 ?\➐ ?\➑ ?\➒ ?\➓ ?\➔ ?\→ ?\↔ ?\↕ ?\➘ ?\➙ ?\➚ ?\➛ ?\➜ ?\➝ ?\➞ ?\➟
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
610 ?\➠ ?\➡ ?\➢ ?\➣ ?\➤ ?\➥ ?\➦ ?\➧ ?\➨ ?\➩ ?\➪ ?\➫ ?\➬ ?\➭ ?\➮ ?\➯])
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
611 (map-161-239 (make-vector (* (1+ (- 239 161)) 2) nil))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
612 (tbl-241-254
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
613 [?\➱ ?\➲ ?\➳ ?\➴ ?\➵ ?\➶ ?\➷ ?\➸ ?\➹ ?\➺ ?\➻ ?\➼ ?\➽ ?\➾])
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
614 (map-241-254 (make-vector (* (1+ (- 254 241)) 2) nil)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
615 (dotimes (i (1+ (- 126 32)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
616 (aset map-32-126 (* i 2) (+ 32 i))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
617 (aset map-32-126 (1+ (* i 2)) (aref tbl-32-126 i)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
618 (dotimes (i (1+ (- 141 128)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
619 (aset map-128-141 (* i 2) (+ 128 i))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
620 (aset map-128-141 (1+ (* i 2)) (aref tbl-128-141 i)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
621 (dotimes (i (1+ (- 239 161)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
622 (aset map-161-239 (* i 2) (+ 161 i))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
623 (aset map-161-239 (1+ (* i 2)) (aref tbl-161-239 i)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
624 (dotimes (i (1+ (- 254 241)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
625 (aset map-241-254 (* i 2) (+ 241 i))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
626 (aset map-241-254 (1+ (* i 2)) (aref tbl-241-254 i)))
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
627 (vconcat map-32-126 map-128-141 map-161-239 map-241-254)))
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
628
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
629 (defconst mac-system-coding-system
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
630 (let ((base (or (cdr (assq mac-system-script-code
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
631 mac-script-code-coding-systems))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
632 'mac-roman)))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
633 (if (eq system-type 'darwin)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
634 base
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
635 (coding-system-change-eol-conversion base 'mac)))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
636 "Coding system derived from the system script code.")
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
637
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
638 (set-selection-coding-system mac-system-coding-system)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
639
61556
6b15c97abf1d Don't set file-name-coding-system. Decode variables system-name,
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61502
diff changeset
640
61502
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
641 ;;;; Keyboard layout/language change events
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
642 (defun mac-handle-language-change (event)
67662
db9106933641 (mac-handle-language-change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67487
diff changeset
643 "Set keyboard coding system to what is specified in EVENT."
61502
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
644 (interactive "e")
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
645 (let ((coding-system
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
646 (cdr (assq (car (cadr event)) mac-script-code-coding-systems))))
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
647 (set-keyboard-coding-system (or coding-system 'mac-roman))
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
648 ;; MacJapanese maps reverse solidus to ?\x80.
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
649 (if (eq coding-system 'japanese-shift-jis)
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
650 (define-key key-translation-map [?\x80] "\\"))))
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
651
61502
3150e849361e (kTextEncodingMacRoman, kTextEncodingISOLatin1)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61497
diff changeset
652 (define-key special-event-map [language-change] 'mac-handle-language-change)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
653
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
654
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
655 ;;;; Conversion between common flavors and Lisp string.
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
656
71356
a183bff9cb83 (mac-text-encoding-ascii): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71175
diff changeset
657 (defconst mac-text-encoding-ascii #x600
a183bff9cb83 (mac-text-encoding-ascii): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71175
diff changeset
658 "ASCII text encoding.")
a183bff9cb83 (mac-text-encoding-ascii): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71175
diff changeset
659
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
660 (defconst mac-text-encoding-mac-japanese-basic-variant #x20001
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
661 "MacJapanese text encoding without Apple double-byte extensions.")
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
662
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
663 (defun mac-utxt-to-string (data &optional coding-system)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
664 (or coding-system (setq coding-system mac-system-coding-system))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
665 (let* ((encoding
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
666 (and (eq system-type 'darwin)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
667 (eq (coding-system-base coding-system) 'japanese-shift-jis)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
668 mac-text-encoding-mac-japanese-basic-variant))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
669 (str (and (fboundp 'mac-code-convert-string)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
670 (mac-code-convert-string data nil
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
671 (or encoding coding-system)))))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
672 (when str
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
673 (setq str (decode-coding-string str coding-system))
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
674 (if (eq encoding mac-text-encoding-mac-japanese-basic-variant)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
675 ;; Does it contain Apple one-byte extensions other than
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
676 ;; reverse solidus?
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
677 (if (string-match "[\xa0\xfd-\xff]" str)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
678 (setq str nil)
70429
0970641ee615 (mac-utxt-to-string): Don't make adjustment for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70379
diff changeset
679 ;; ASCII-only?
71356
a183bff9cb83 (mac-text-encoding-ascii): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71175
diff changeset
680 (unless (mac-code-convert-string data nil mac-text-encoding-ascii)
90397
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
681 (subst-char-in-string ?\x5c ?\¥ str t)
70429
0970641ee615 (mac-utxt-to-string): Don't make adjustment for
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70379
diff changeset
682 (subst-char-in-string ?\x80 ?\\ str t)))))
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
683 (or str
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
684 (decode-coding-string data
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
685 (if (eq (byteorder) ?B) 'utf-16be 'utf-16le)))))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
686
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
687 (defun mac-string-to-utxt (string &optional coding-system)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
688 (or coding-system (setq coding-system mac-system-coding-system))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
689 (let (data encoding)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
690 (when (and (fboundp 'mac-code-convert-string)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
691 (memq (coding-system-base coding-system)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
692 (find-coding-systems-string string)))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
693 (setq coding-system
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
694 (coding-system-change-eol-conversion coding-system 'mac))
72576
b09e6c8f23d4 (mac-string-to-utxt): If adjustment for MacJapanese
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72536
diff changeset
695 (let ((str string))
b09e6c8f23d4 (mac-string-to-utxt): If adjustment for MacJapanese
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72536
diff changeset
696 (when (and (eq system-type 'darwin)
b09e6c8f23d4 (mac-string-to-utxt): If adjustment for MacJapanese
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72536
diff changeset
697 (eq coding-system 'japanese-shift-jis-mac))
b09e6c8f23d4 (mac-string-to-utxt): If adjustment for MacJapanese
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72536
diff changeset
698 (setq encoding mac-text-encoding-mac-japanese-basic-variant)
b09e6c8f23d4 (mac-string-to-utxt): If adjustment for MacJapanese
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72536
diff changeset
699 (setq str (subst-char-in-string ?\\ ?\x80 str))
90599
c358d0861b16 Merge from emacs--devo--0
Miles Bader <miles@gnu.org>
parents: 90596 72576
diff changeset
700 (subst-char-in-string ?\¥ ?\x5c str t)
72576
b09e6c8f23d4 (mac-string-to-utxt): If adjustment for MacJapanese
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72536
diff changeset
701 ;; ASCII-only?
b09e6c8f23d4 (mac-string-to-utxt): If adjustment for MacJapanese
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72536
diff changeset
702 (if (string-match "\\`[\x00-\x7f]*\\'" str)
b09e6c8f23d4 (mac-string-to-utxt): If adjustment for MacJapanese
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72536
diff changeset
703 (setq str nil)))
b09e6c8f23d4 (mac-string-to-utxt): If adjustment for MacJapanese
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72536
diff changeset
704 (and str
b09e6c8f23d4 (mac-string-to-utxt): If adjustment for MacJapanese
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72536
diff changeset
705 (setq data (mac-code-convert-string
b09e6c8f23d4 (mac-string-to-utxt): If adjustment for MacJapanese
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72536
diff changeset
706 (encode-coding-string str coding-system)
b09e6c8f23d4 (mac-string-to-utxt): If adjustment for MacJapanese
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72536
diff changeset
707 (or encoding coding-system) nil)))))
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
708 (or data (encode-coding-string string (if (eq (byteorder) ?B)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
709 'utf-16be-mac
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
710 'utf-16le-mac)))))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
711
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
712 (defun mac-TEXT-to-string (data &optional coding-system)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
713 (or coding-system (setq coding-system mac-system-coding-system))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
714 (prog1 (setq data (decode-coding-string data coding-system))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
715 (when (eq (coding-system-base coding-system) 'japanese-shift-jis)
90397
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
716 ;; (subst-char-in-string ?\x5c ?\¥ data t)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
717 (subst-char-in-string ?\x80 ?\\ data t))))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
718
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
719 (defun mac-string-to-TEXT (string &optional coding-system)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
720 (or coding-system (setq coding-system mac-system-coding-system))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
721 (let ((encodables (find-coding-systems-string string))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
722 (rest mac-script-code-coding-systems))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
723 (unless (memq (coding-system-base coding-system) encodables)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
724 (while (and rest (not (memq (cdar rest) encodables)))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
725 (setq rest (cdr rest)))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
726 (if rest
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
727 (setq coding-system (cdar rest)))))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
728 (setq coding-system
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
729 (coding-system-change-eol-conversion coding-system 'mac))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
730 (when (eq coding-system 'japanese-shift-jis-mac)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
731 ;; (setq string (subst-char-in-string ?\\ ?\x80 string))
90397
914bfaec949a (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 90389
diff changeset
732 (setq string (subst-char-in-string ?\¥ ?\x5c string)))
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
733 (encode-coding-string string coding-system))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
734
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
735 (defun mac-furl-to-string (data)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
736 ;; Remove a trailing nul character.
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
737 (let ((len (length data)))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
738 (if (and (> len 0) (= (aref data (1- len)) ?\0))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
739 (substring data 0 (1- len))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
740 data)))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
741
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
742 (defun mac-TIFF-to-string (data &optional text)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
743 (prog1 (or text (setq text (copy-sequence " ")))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
744 (put-text-property 0 (length text) 'display (create-image data 'tiff t)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
745 text)))
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
746
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
747 ;;;; Selections
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
748
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
749 ;;; We keep track of the last text selected here, so we can check the
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
750 ;;; current selection against it, and avoid passing back our own text
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
751 ;;; from x-get-selection-value.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
752 (defvar x-last-selected-text-clipboard nil
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
753 "The value of the CLIPBOARD selection last time we selected or
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
754 pasted text.")
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
755 (defvar x-last-selected-text-primary nil
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
756 "The value of the PRIMARY X selection last time we selected or
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
757 pasted text.")
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
758
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
759 (defcustom x-select-enable-clipboard t
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
760 "*Non-nil means cutting and pasting uses the clipboard.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
761 This is in addition to the primary selection."
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
762 :type 'boolean
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
763 :group 'killing)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
764
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
765 ;;; Make TEXT, a string, the primary X selection.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
766 (defun x-select-text (text &optional push)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
767 (x-set-selection 'PRIMARY text)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
768 (setq x-last-selected-text-primary text)
62100
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
769 (if (not x-select-enable-clipboard)
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
770 (setq x-last-selected-text-clipboard nil)
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
771 (x-set-selection 'CLIPBOARD text)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
772 (setq x-last-selected-text-clipboard text))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
773 )
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
774
95838
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
775 (declare-function x-get-selection-internal "xselect.c"
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
776 (selection-symbol target-type &optional time-stamp))
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
777
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
778 (defun x-get-selection (&optional type data-type)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
779 "Return the value of a selection.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
780 The argument TYPE (default `PRIMARY') says which selection,
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
781 and the argument DATA-TYPE (default `STRING') says
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
782 how to convert the data.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
783
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
784 TYPE may be any symbol \(but nil stands for `PRIMARY'). However,
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
785 only a few symbols are commonly used. They conventionally have
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
786 all upper-case names. The most often used ones, in addition to
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
787 `PRIMARY', are `SECONDARY' and `CLIPBOARD'.
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
788
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
789 DATA-TYPE is usually `STRING', but can also be one of the symbols
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
790 in `selection-converter-alist', which see."
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
791 (let ((data (x-get-selection-internal (or type 'PRIMARY)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
792 (or data-type 'STRING)))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
793 (coding (or next-selection-coding-system
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
794 selection-coding-system)))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
795 (when (and (stringp data)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
796 (setq data-type (get-text-property 0 'foreign-selection data)))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
797 (cond ((eq data-type 'public.utf16-plain-text)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
798 (setq data (mac-utxt-to-string data coding)))
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
799 ((eq data-type 'com.apple.traditional-mac-plain-text)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
800 (setq data (mac-TEXT-to-string data coding)))
62100
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
801 ((eq data-type 'public.file-url)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
802 (setq data (mac-furl-to-string data))))
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
803 (put-text-property 0 (length data) 'foreign-selection data-type data))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
804 data))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
805
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
806 (defun x-selection-value (type)
62100
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
807 (let ((data-types '(public.utf16-plain-text
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
808 com.apple.traditional-mac-plain-text
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
809 public.file-url))
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
810 text tiff-image)
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
811 (while (and (null text) data-types)
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
812 (setq text (condition-case nil
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
813 (x-get-selection type (car data-types))
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
814 (error nil)))
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
815 (setq data-types (cdr data-types)))
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
816 (if text
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
817 (remove-text-properties 0 (length text) '(foreign-selection nil) text))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
818 (setq tiff-image (condition-case nil
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
819 (x-get-selection type 'public.tiff)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
820 (error nil)))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
821 (when tiff-image
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
822 (remove-text-properties 0 (length tiff-image)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
823 '(foreign-selection nil) tiff-image)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
824 (setq text (mac-TIFF-to-string tiff-image text)))
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
825 text))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
826
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
827 ;;; Return the value of the current selection.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
828 ;;; Treat empty strings as if they were unset.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
829 ;;; If this function is called twice and finds the same text,
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
830 ;;; it returns nil the second time. This is so that a single
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
831 ;;; selection won't be added to the kill ring over and over.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
832 (defun x-get-selection-value ()
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
833 (let (clip-text primary-text)
62100
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
834 (if (not x-select-enable-clipboard)
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
835 (setq x-last-selected-text-clipboard nil)
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
836 (setq clip-text (x-selection-value 'CLIPBOARD))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
837 (if (string= clip-text "") (setq clip-text nil))
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
838
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
839 ;; Check the CLIPBOARD selection for 'newness', is it different
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
840 ;; from what we remebered them to be last time we did a
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
841 ;; cut/paste operation.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
842 (setq clip-text
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
843 (cond;; check clipboard
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
844 ((or (not clip-text) (string= clip-text ""))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
845 (setq x-last-selected-text-clipboard nil))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
846 ((eq clip-text x-last-selected-text-clipboard) nil)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
847 ((string= clip-text x-last-selected-text-clipboard)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
848 ;; Record the newer string,
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
849 ;; so subsequent calls can use the `eq' test.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
850 (setq x-last-selected-text-clipboard clip-text)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
851 nil)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
852 (t
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
853 (setq x-last-selected-text-clipboard clip-text))))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
854 )
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
855
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
856 (setq primary-text (x-selection-value 'PRIMARY))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
857 ;; Check the PRIMARY selection for 'newness', is it different
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
858 ;; from what we remebered them to be last time we did a
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
859 ;; cut/paste operation.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
860 (setq primary-text
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
861 (cond;; check primary selection
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
862 ((or (not primary-text) (string= primary-text ""))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
863 (setq x-last-selected-text-primary nil))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
864 ((eq primary-text x-last-selected-text-primary) nil)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
865 ((string= primary-text x-last-selected-text-primary)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
866 ;; Record the newer string,
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
867 ;; so subsequent calls can use the `eq' test.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
868 (setq x-last-selected-text-primary primary-text)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
869 nil)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
870 (t
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
871 (setq x-last-selected-text-primary primary-text))))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
872
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
873 ;; As we have done one selection, clear this now.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
874 (setq next-selection-coding-system nil)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
875
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
876 ;; At this point we have recorded the current values for the
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
877 ;; selection from clipboard (if we are supposed to) and primary,
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
878 ;; So return the first one that has changed (which is the first
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
879 ;; non-null one).
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
880 (or clip-text primary-text)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
881 ))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
882
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
883 (put 'CLIPBOARD 'mac-scrap-name "com.apple.scrap.clipboard")
62100
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
884 (when (eq system-type 'darwin)
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
885 (put 'FIND 'mac-scrap-name "com.apple.scrap.find")
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
886 (put 'PRIMARY 'mac-scrap-name
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
887 (format "org.gnu.Emacs.%d.selection.PRIMARY" (emacs-pid))))
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
888 (put 'com.apple.traditional-mac-plain-text 'mac-ostype "TEXT")
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
889 (put 'public.utf16-plain-text 'mac-ostype "utxt")
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
890 (put 'public.tiff 'mac-ostype "TIFF")
62100
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
891 (put 'public.file-url 'mac-ostype "furl")
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
892
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
893 (defun mac-select-convert-to-string (selection type value)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
894 (let ((str (cdr (xselect-convert-to-string selection nil value)))
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
895 (coding (or next-selection-coding-system selection-coding-system)))
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
896 (when str
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
897 ;; If TYPE is nil, this is a local request, thus return STR as
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
898 ;; is. Otherwise, encode STR.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
899 (if (not type)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
900 str
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
901 (let ((inhibit-read-only t))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
902 (remove-text-properties 0 (length str) '(composition nil) str)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
903 (cond
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
904 ((eq type 'public.utf16-plain-text)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
905 (setq str (mac-string-to-utxt str coding)))
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
906 ((eq type 'com.apple.traditional-mac-plain-text)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
907 (setq str (mac-string-to-TEXT str coding)))
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
908 (t
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
909 (error "Unknown selection type: %S" type))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
910 )))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
911
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
912 (setq next-selection-coding-system nil)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
913 (cons type str))))
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
914
62100
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
915 (defun mac-select-convert-to-file-url (selection type value)
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
916 (let ((filename (xselect-convert-to-filename selection type value))
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
917 (coding (or file-name-coding-system default-file-name-coding-system)))
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
918 (if (and filename coding)
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
919 (setq filename (encode-coding-string filename coding)))
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
920 (and filename
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
921 (concat "file://localhost"
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
922 (mapconcat 'url-hexify-string
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
923 (split-string filename "/") "/")))))
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
924
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
925 (setq selection-converter-alist
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
926 (nconc
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
927 '((public.utf16-plain-text . mac-select-convert-to-string)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
928 (com.apple.traditional-mac-plain-text . mac-select-convert-to-string)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
929 ;; This is not enabled by default because the `Import Image'
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
930 ;; menu makes Emacs crash or hang for unknown reasons.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
931 ;; (public.tiff . nil)
62100
e5deb8b3a701 Don't define or bind scroll bar functions if
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61778
diff changeset
932 (public.file-url . mac-select-convert-to-file-url)
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
933 )
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
934 selection-converter-alist))
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
935
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
936 ;;;; Apple events, HICommand events, and Services menu
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
937
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
938 ;;; Event classes
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
939 (put 'core-event 'mac-apple-event-class "aevt") ; kCoreEventClass
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
940 (put 'internet-event 'mac-apple-event-class "GURL") ; kAEInternetEventClass
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
941
68035
a9b674b9cf4c (mac-ae-parameter): Don't coerce data if it is
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67662
diff changeset
942 ;;; Event IDs
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
943 ;; kCoreEventClass
72703
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
944 (put 'open-application 'mac-apple-event-id "oapp") ; kAEOpenApplication
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
945 (put 'reopen-application 'mac-apple-event-id "rapp") ; kAEReopenApplication
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
946 (put 'open-documents 'mac-apple-event-id "odoc") ; kAEOpenDocuments
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
947 (put 'print-documents 'mac-apple-event-id "pdoc") ; kAEPrintDocuments
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
948 (put 'open-contents 'mac-apple-event-id "ocon") ; kAEOpenContents
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
949 (put 'quit-application 'mac-apple-event-id "quit") ; kAEQuitApplication
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
950 (put 'application-died 'mac-apple-event-id "obit") ; kAEApplicationDied
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
951 (put 'show-preferences 'mac-apple-event-id "pref") ; kAEShowPreferences
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
952 (put 'autosave-now 'mac-apple-event-id "asav") ; kAEAutosaveNow
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
953 ;; kAEInternetEventClass
72703
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
954 (put 'get-url 'mac-apple-event-id "GURL") ; kAEGetURL
72536
59670fc88353 (mac-apple-event-map): Rename hicommand to hi-command.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71500
diff changeset
955 ;; Converted HI command events
72703
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
956 (put 'about 'mac-apple-event-id "abou") ; kHICommandAbout
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
957 (put 'show-hide-font-panel 'mac-apple-event-id "shfp") ; kHICommandShowHideFontPanel
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
958
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
959 (defmacro mac-event-spec (event)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
960 `(nth 1 ,event))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
961
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
962 (defmacro mac-event-ae (event)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
963 `(nth 2 ,event))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
964
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
965 (defun mac-ae-parameter (ae &optional keyword type)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
966 (or keyword (setq keyword "----")) ;; Direct object.
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
967 (if (not (and (consp ae) (equal (car ae) "aevt")))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
968 (error "Not an Apple event: %S" ae)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
969 (let ((type-data (cdr (assoc keyword (cdr ae))))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
970 data)
68035
a9b674b9cf4c (mac-ae-parameter): Don't coerce data if it is
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67662
diff changeset
971 (when (and type type-data (not (equal type (car type-data))))
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
972 (setq data (mac-coerce-ae-data (car type-data) (cdr type-data) type))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
973 (setq type-data (if data (cons type data) nil)))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
974 type-data)))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
975
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
976 (defun mac-ae-list (ae &optional keyword type)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
977 (or keyword (setq keyword "----")) ;; Direct object.
68035
a9b674b9cf4c (mac-ae-parameter): Don't coerce data if it is
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67662
diff changeset
978 (let ((desc (mac-ae-parameter ae keyword "list")))
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
979 (cond ((null desc)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
980 nil)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
981 ((not (equal (car desc) "list"))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
982 (error "Parameter for \"%s\" is not a list" keyword))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
983 (t
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
984 (if (null type)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
985 (cdr desc)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
986 (mapcar
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
987 (lambda (type-data)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
988 (mac-coerce-ae-data (car type-data) (cdr type-data) type))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
989 (cdr desc)))))))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
990
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
991 (defun mac-ae-number (ae keyword)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
992 (let ((type-data (mac-ae-parameter ae keyword))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
993 str)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
994 (if (and type-data
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
995 (setq str (mac-coerce-ae-data (car type-data)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
996 (cdr type-data) "TEXT")))
75831
906e93bebe5f Change all uses of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75375
diff changeset
997 (let ((num (string-to-number str)))
906e93bebe5f Change all uses of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75375
diff changeset
998 ;; Mac OS Classic may return "0e+0" as the coerced value for
906e93bebe5f Change all uses of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75375
diff changeset
999 ;; the type "magn" and the data "\000\000\000\000".
906e93bebe5f Change all uses of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75375
diff changeset
1000 (if (= num 0.0) 0 num))
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1001 nil)))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1002
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1003 (defun mac-bytes-to-integer (bytes &optional from to)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1004 (or from (setq from 0))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1005 (or to (setq to (length bytes)))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1006 (let* ((len (- to from))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1007 (extended-sign-len (- (1+ (ceiling (log most-positive-fixnum 2)))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1008 (* 8 len)))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1009 (result 0))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1010 (dotimes (i len)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1011 (setq result (logior (lsh result 8)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1012 (aref bytes (+ from (if (eq (byteorder) ?B) i
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1013 (- len i 1)))))))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1014 (if (> extended-sign-len 0)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1015 (ash (lsh result extended-sign-len) (- extended-sign-len))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1016 result)))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1017
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1018 (defun mac-ae-selection-range (ae)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1019 ;; #pragma options align=mac68k
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1020 ;; typedef struct SelectionRange {
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1021 ;; short unused1; // 0 (not used)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1022 ;; short lineNum; // line to select (<0 to specify range)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1023 ;; long startRange; // start of selection range (if line < 0)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1024 ;; long endRange; // end of selection range (if line < 0)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1025 ;; long unused2; // 0 (not used)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1026 ;; long theDate; // modification date/time
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1027 ;; } SelectionRange;
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1028 ;; #pragma options align=reset
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1029 (let ((range-bytes (cdr (mac-ae-parameter ae "kpos" "TEXT"))))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1030 (and range-bytes
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1031 (list (mac-bytes-to-integer range-bytes 2 4)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1032 (mac-bytes-to-integer range-bytes 4 8)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1033 (mac-bytes-to-integer range-bytes 8 12)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1034 (mac-bytes-to-integer range-bytes 16 20)))))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1035
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1036 ;; On Mac OS X 10.4 and later, the `open-document' event contains an
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1037 ;; optional parameter keyAESearchText from the Spotlight search.
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1038 (defun mac-ae-text-for-search (ae)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1039 (let ((utf8-text (cdr (mac-ae-parameter ae "stxt" "utf8"))))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1040 (and utf8-text
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1041 (decode-coding-string utf8-text 'utf-8))))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1042
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1043 (defun mac-ae-text (ae)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1044 (or (cdr (mac-ae-parameter ae nil "TEXT"))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1045 (error "No text in Apple event.")))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1046
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1047 (defun mac-ae-frame (ae &optional keyword type)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1048 (let ((bytes (cdr (mac-ae-parameter ae keyword type))))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1049 (if (or (null bytes) (/= (length bytes) 4))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1050 (error "No window reference in Apple event.")
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1051 (let ((window-id (mac-coerce-ae-data "long" bytes "TEXT"))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1052 (rest (frame-list))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1053 frame)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1054 (while (and (null frame) rest)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1055 (if (string= (frame-parameter (car rest) 'window-id) window-id)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1056 (setq frame (car rest)))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1057 (setq rest (cdr rest)))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1058 frame))))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1059
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1060 (defun mac-ae-script-language (ae keyword)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1061 ;; struct WritingCode {
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1062 ;; ScriptCode theScriptCode;
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1063 ;; LangCode theLangCode;
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1064 ;; };
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1065 (let ((bytes (cdr (mac-ae-parameter ae keyword "intl"))))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1066 (and bytes
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1067 (cons (mac-bytes-to-integer bytes 0 2)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1068 (mac-bytes-to-integer bytes 2 4)))))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1069
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1070 (defun mac-bytes-to-text-range (bytes &optional from to)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1071 ;; struct TextRange {
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1072 ;; long fStart;
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1073 ;; long fEnd;
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1074 ;; short fHiliteStyle;
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1075 ;; };
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1076 (or from (setq from 0))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1077 (or to (setq to (length bytes)))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1078 (and (= (- to from) (+ 4 4 2))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1079 (list (mac-bytes-to-integer bytes from (+ from 4))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1080 (mac-bytes-to-integer bytes (+ from 4) (+ from 8))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1081 (mac-bytes-to-integer bytes (+ from 8) to))))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1082
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1083 (defun mac-ae-text-range-array (ae keyword)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1084 ;; struct TextRangeArray {
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1085 ;; short fNumOfRanges;
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1086 ;; TextRange fRange[1];
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1087 ;; };
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1088 (let* ((bytes (cdr (mac-ae-parameter ae keyword "tray")))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1089 (len (length bytes))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1090 nranges result)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1091 (when (and bytes (>= len 2)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1092 (progn
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1093 (setq nranges (mac-bytes-to-integer bytes 0 2))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1094 (= len (+ 2 (* nranges 10)))))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1095 (setq result (make-vector nranges nil))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1096 (dotimes (i nranges)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1097 (aset result i
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1098 (mac-bytes-to-text-range bytes (+ (* i 10) 2)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1099 (+ (* i 10) 12)))))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1100 result))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1101
75375
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1102 (defconst mac-keyboard-modifier-mask-alist
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1103 (mapcar
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1104 (lambda (modifier-bit)
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1105 (cons (car modifier-bit) (lsh 1 (cdr modifier-bit))))
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1106 '((command . 8) ; cmdKeyBit
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1107 (shift . 9) ; shiftKeyBit
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1108 (option . 11) ; optionKeyBit
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1109 (control . 12) ; controlKeyBit
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1110 (function . 17))) ; kEventKeyModifierFnBit
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1111 "Alist of Mac keyboard modifier symbols vs masks.")
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1112
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1113 (defun mac-ae-keyboard-modifiers (ae)
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1114 (let ((modifiers-value (mac-ae-number ae "kmod"))
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1115 modifiers)
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1116 (if modifiers-value
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1117 (dolist (modifier-mask mac-keyboard-modifier-mask-alist)
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1118 (if (/= (logand modifiers-value (cdr modifier-mask)) 0)
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1119 (setq modifiers (cons (car modifier-mask) modifiers)))))
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1120 modifiers))
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1121
80396
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1122 (defun mac-ae-reopen-application (event)
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1123 "Show some frame in response to the Apple event EVENT.
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1124 The frame to be shown is chosen from visible or iconified frames
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1125 if possible. If there's no such frame, a new frame is created."
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1126 (interactive "e")
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1127 (unless (frame-visible-p (selected-frame))
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1128 (let ((frame (or (car (visible-frame-list))
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1129 (car (filtered-frame-list 'frame-visible-p)))))
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1130 (if frame
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1131 (select-frame frame)
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1132 (switch-to-buffer-other-frame "*scratch*"))))
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1133 (select-frame-set-input-focus (selected-frame)))
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1134
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1135 (defun mac-ae-open-documents (event)
67662
db9106933641 (mac-handle-language-change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67487
diff changeset
1136 "Open the documents specified by the Apple event EVENT."
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1137 (interactive "e")
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1138 (let ((ae (mac-event-ae event)))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1139 (dolist (file-name (mac-ae-list ae nil 'undecoded-file-name))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1140 (if file-name
70763
e5e83c1c6fa5 (mac-ae-open-documents): Escape file name on conversion to URL.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70730
diff changeset
1141 (dnd-open-local-file
e5e83c1c6fa5 (mac-ae-open-documents): Escape file name on conversion to URL.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70730
diff changeset
1142 (concat "file://"
e5e83c1c6fa5 (mac-ae-open-documents): Escape file name on conversion to URL.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70730
diff changeset
1143 (mapconcat 'url-hexify-string
e5e83c1c6fa5 (mac-ae-open-documents): Escape file name on conversion to URL.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70730
diff changeset
1144 (split-string file-name "/") "/")) nil)))
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1145 (let ((selection-range (mac-ae-selection-range ae))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1146 (search-text (mac-ae-text-for-search ae)))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1147 (cond (selection-range
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1148 (let ((line (car selection-range))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1149 (start (cadr selection-range))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1150 (end (nth 2 selection-range)))
80504
866d9d0f14ac (mac-ae-open-documents): Adjust selection range parameter origins.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80396
diff changeset
1151 (if (>= line 0)
866d9d0f14ac (mac-ae-open-documents): Adjust selection range parameter origins.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80396
diff changeset
1152 (goto-line (1+ line))
866d9d0f14ac (mac-ae-open-documents): Adjust selection range parameter origins.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80396
diff changeset
1153 (if (and (>= start 0) (>= end 0))
866d9d0f14ac (mac-ae-open-documents): Adjust selection range parameter origins.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80396
diff changeset
1154 (progn (set-mark (1+ start))
866d9d0f14ac (mac-ae-open-documents): Adjust selection range parameter origins.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80396
diff changeset
1155 (goto-char (1+ end)))))))
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1156 ((stringp search-text)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1157 (re-search-forward
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1158 (mapconcat 'regexp-quote (split-string search-text) "\\|")
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1159 nil t)))))
70298
11e77c23e062 (mac-ae-open-documents, mac-drag-n-drop): Use
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 69725
diff changeset
1160 (select-frame-set-input-focus (selected-frame)))
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1161
75238
975531dd9b08 (mac-ae-quit-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75142
diff changeset
1162 (defun mac-ae-quit-application (event)
975531dd9b08 (mac-ae-quit-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75142
diff changeset
1163 "Quit the application Emacs with the Apple event EVENT."
975531dd9b08 (mac-ae-quit-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75142
diff changeset
1164 (interactive "e")
975531dd9b08 (mac-ae-quit-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75142
diff changeset
1165 (let ((ae (mac-event-ae event)))
975531dd9b08 (mac-ae-quit-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75142
diff changeset
1166 (unwind-protect
975531dd9b08 (mac-ae-quit-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75142
diff changeset
1167 (save-buffers-kill-emacs)
975531dd9b08 (mac-ae-quit-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75142
diff changeset
1168 ;; Reaches here if the user has canceled the quit.
975531dd9b08 (mac-ae-quit-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75142
diff changeset
1169 (mac-resume-apple-event ae -128)))) ; userCanceledErr
975531dd9b08 (mac-ae-quit-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75142
diff changeset
1170
86819
6ee7c280d828 Comment.
Glenn Morris <rgm@gnu.org>
parents: 86292
diff changeset
1171 ;; url-generic-parse-url is autoloaded from url-parse.
86847
0152955185ee (url-type): Declare as a function.
Glenn Morris <rgm@gnu.org>
parents: 86819
diff changeset
1172 (declare-function url-type "url-parse" t t) ; defstruct
86819
6ee7c280d828 Comment.
Glenn Morris <rgm@gnu.org>
parents: 86292
diff changeset
1173
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1174 (defun mac-ae-get-url (event)
67662
db9106933641 (mac-handle-language-change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67487
diff changeset
1175 "Open the URL specified by the Apple event EVENT.
db9106933641 (mac-handle-language-change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67487
diff changeset
1176 Currently the `mailto' scheme is supported."
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1177 (interactive "e")
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1178 (let* ((ae (mac-event-ae event))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1179 (parsed-url (url-generic-parse-url (mac-ae-text ae))))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1180 (if (string= (url-type parsed-url) "mailto")
75831
906e93bebe5f Change all uses of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75375
diff changeset
1181 (progn
906e93bebe5f Change all uses of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75375
diff changeset
1182 (url-mailto parsed-url)
906e93bebe5f Change all uses of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75375
diff changeset
1183 (select-frame-set-input-focus (selected-frame)))
70870
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1184 (mac-resume-apple-event ae t))))
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1185
67487
44fba69e3c47 Create keymap for mac-apple-event-map.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67450
diff changeset
1186 (setq mac-apple-event-map (make-sparse-keymap))
44fba69e3c47 Create keymap for mac-apple-event-map.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67450
diff changeset
1187
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1188 ;; Received when Emacs is launched without associated documents.
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1189 ;; Accept it as an Apple event, but no Emacs event is generated so as
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1190 ;; not to erase the splash screen.
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1191 (define-key mac-apple-event-map [core-event open-application] 0)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1192
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1193 ;; Received when a dock or application icon is clicked and Emacs is
80396
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1194 ;; already running.
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1195 (define-key mac-apple-event-map [core-event reopen-application]
08cd8b1cca35 (mac-ae-reopen-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80384
diff changeset
1196 'mac-ae-reopen-application)
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1197
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1198 (define-key mac-apple-event-map [core-event open-documents]
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1199 'mac-ae-open-documents)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1200 (define-key mac-apple-event-map [core-event show-preferences] 'customize)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1201 (define-key mac-apple-event-map [core-event quit-application]
75238
975531dd9b08 (mac-ae-quit-application): New function.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75142
diff changeset
1202 'mac-ae-quit-application)
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1203
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1204 (define-key mac-apple-event-map [internet-event get-url] 'mac-ae-get-url)
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1205
79606
f6762e747873 (mac-apple-event-map): Bind kHICommandAbout event to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79090
diff changeset
1206 (define-key mac-apple-event-map [hi-command about] 'about-emacs)
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1207
95838
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1208 (declare-function tool-bar-mode "tool-bar" (&optional arg))
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1209
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1210 ;;; Converted Carbon Events
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1211 (defun mac-handle-toolbar-switch-mode (event)
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1212 "Toggle visibility of tool-bars in response to EVENT.
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1213 With no keyboard modifiers, it toggles the visibility of the
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1214 frame where the tool-bar toggle button was pressed. With some
78679
740c901aba1a (mac-handle-toolbar-switch-mode): Add explicit
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 78226
diff changeset
1215 modifiers, it changes the global tool-bar visibility setting."
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1216 (interactive "e")
75375
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1217 (let ((ae (mac-event-ae event)))
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1218 (if (mac-ae-keyboard-modifiers ae)
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1219 ;; Globally toggle tool-bar-mode if some modifier key is pressed.
78679
740c901aba1a (mac-handle-toolbar-switch-mode): Add explicit
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 78226
diff changeset
1220 (tool-bar-mode 'toggle)
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1221 (let ((frame (mac-ae-frame ae)))
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1222 (set-frame-parameter frame 'tool-bar-lines
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1223 (if (= (frame-parameter frame 'tool-bar-lines) 0)
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1224 1 0))))))
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1225
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1226 ;; kEventClassWindow/kEventWindowToolbarSwitchMode
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1227 (define-key mac-apple-event-map [window toolbar-switch-mode]
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1228 'mac-handle-toolbar-switch-mode)
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1229
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1230 ;;; Font panel
75831
906e93bebe5f Change all uses of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75375
diff changeset
1231 (when (fboundp 'mac-set-font-panel-visible-p)
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1232
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1233 (define-minor-mode mac-font-panel-mode
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1234 "Toggle use of the font panel.
70559
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1235 With numeric ARG, display the font panel if and only if ARG is positive."
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1236 :init-value nil
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1237 :global t
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1238 :group 'mac
75831
906e93bebe5f Change all uses of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75375
diff changeset
1239 (mac-set-font-panel-visible-p mac-font-panel-mode))
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1240
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1241 (defun mac-handle-font-panel-closed (event)
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1242 "Update internal status in response to font panel closed EVENT."
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1243 (interactive "e")
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1244 ;; Synchronize with the minor mode variable.
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1245 (mac-font-panel-mode 0))
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1246
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1247 (defun mac-handle-font-selection (event)
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1248 "Change default face attributes according to font selection EVENT."
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1249 (interactive "e")
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1250 (let* ((ae (mac-event-ae event))
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1251 (fm-font-size (mac-ae-number ae "fmsz"))
71500
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1252 (atsu-font-id (mac-ae-number ae "auid"))
74625
1fb421aafa71 (mac-atsu-font-table): Remove defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74509
diff changeset
1253 (attribute-values (and atsu-font-id
1fb421aafa71 (mac-atsu-font-table): Remove defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74509
diff changeset
1254 (mac-atsu-font-face-attributes atsu-font-id))))
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1255 (if fm-font-size
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1256 (setq attribute-values
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1257 `(:height ,(* 10 fm-font-size) ,@attribute-values)))
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1258 (apply 'set-face-attribute 'default (selected-frame) attribute-values)))
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1259
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1260 ;; kEventClassFont/kEventFontPanelClosed
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1261 (define-key mac-apple-event-map [font panel-closed]
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1262 'mac-handle-font-panel-closed)
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1263 ;; kEventClassFont/kEventFontSelection
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1264 (define-key mac-apple-event-map [font selection] 'mac-handle-font-selection)
72703
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
1265 (define-key mac-apple-event-map [hi-command show-hide-font-panel]
ca1234ea6e5f (show-hide-font-panel): New HI command ID symbol.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72576
diff changeset
1266 'mac-font-panel-mode)
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1267
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1268 (define-key-after menu-bar-showhide-menu [mac-font-panel-mode]
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1269 (menu-bar-make-mm-toggle mac-font-panel-mode
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1270 "Font Panel"
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1271 "Show the font panel as a floating dialog")
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1272 'showhide-speedbar)
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1273
75831
906e93bebe5f Change all uses of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75375
diff changeset
1274 ) ;; (fboundp 'mac-set-font-panel-visible-p)
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1275
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1276 ;;; Text Services
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1277 (defvar mac-ts-update-active-input-area-seqno 0
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1278 "Number of processed update-active-input-area events.")
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1279 (setq mac-ts-active-input-overlay (make-overlay 0 0))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1280
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1281 (defface mac-ts-caret-position
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1282 '((t :inverse-video t))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1283 "Face for caret position in Mac TSM active input area.
71500
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1284 This is used when the active input area is displayed either in
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1285 the echo area or in a buffer where the cursor is not displayed."
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1286 :group 'mac)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1287
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1288 (defface mac-ts-raw-text
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1289 '((t :underline t))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1290 "Face for raw text in Mac TSM active input area."
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1291 :group 'mac)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1292
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1293 (defface mac-ts-selected-raw-text
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1294 '((t :underline t))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1295 "Face for selected raw text in Mac TSM active input area."
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1296 :group 'mac)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1297
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1298 (defface mac-ts-converted-text
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1299 '((((background dark)) :underline "gray20")
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1300 (t :underline "gray80"))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1301 "Face for converted text in Mac TSM active input area."
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1302 :group 'mac)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1303
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1304 (defface mac-ts-selected-converted-text
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1305 '((t :underline t))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1306 "Face for selected converted text in Mac TSM active input area."
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1307 :group 'mac)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1308
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1309 (defface mac-ts-block-fill-text
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1310 '((t :underline t))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1311 "Face for block fill text in Mac TSM active input area."
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1312 :group 'mac)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1313
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1314 (defface mac-ts-outline-text
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1315 '((t :underline t))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1316 "Face for outline text in Mac TSM active input area."
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1317 :group 'mac)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1318
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1319 (defface mac-ts-selected-text
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1320 '((t :underline t))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1321 "Face for selected text in Mac TSM active input area."
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1322 :group 'mac)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1323
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1324 (defface mac-ts-no-hilite
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1325 '((t :inherit default))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1326 "Face for no hilite in Mac TSM active input area."
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1327 :group 'mac)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1328
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1329 (defconst mac-ts-hilite-style-faces
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1330 '((2 . mac-ts-raw-text) ; kTSMHiliteRawText
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1331 (3 . mac-ts-selected-raw-text) ; kTSMHiliteSelectedRawText
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1332 (4 . mac-ts-converted-text) ; kTSMHiliteConvertedText
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1333 (5 . mac-ts-selected-converted-text) ; kTSMHiliteSelectedConvertedText
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1334 (6 . mac-ts-block-fill-text) ; kTSMHiliteBlockFillText
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1335 (7 . mac-ts-outline-text) ; kTSMHiliteOutlineText
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1336 (8 . mac-ts-selected-text) ; kTSMHiliteSelectedText
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1337 (9 . mac-ts-no-hilite)) ; kTSMHiliteNoHilite
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1338 "Alist of Mac TSM hilite style vs Emacs face.")
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1339
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1340 (defun mac-ts-update-active-input-buf (text fix-len hilite-rng update-rng)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1341 (let ((buf-len (length mac-ts-active-input-buf))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1342 confirmed)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1343 (if (or (null update-rng)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1344 (/= (% (length update-rng) 2) 0))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1345 ;; The parameter is missing (or in a bad format). The
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1346 ;; existing inline input session is completely replaced with
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1347 ;; the new text.
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1348 (setq mac-ts-active-input-buf text)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1349 ;; Otherwise, the current subtext specified by the (2*j)-th
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1350 ;; range is replaced with the new subtext specified by the
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1351 ;; (2*j+1)-th range.
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1352 (let ((tail buf-len)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1353 (i (length update-rng))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1354 segments rng)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1355 (while (> i 0)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1356 (setq i (- i 2))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1357 (setq rng (aref update-rng i))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1358 (if (and (<= 0 (cadr rng)) (< (cadr rng) tail)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1359 (<= tail buf-len))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1360 (setq segments
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1361 (cons (substring mac-ts-active-input-buf (cadr rng) tail)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1362 segments)))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1363 (setq tail (car rng))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1364 (setq rng (aref update-rng (1+ i)))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1365 (if (and (<= 0 (car rng)) (< (car rng) (cadr rng))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1366 (<= (cadr rng) (length text)))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1367 (setq segments
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1368 (cons (substring text (car rng) (cadr rng))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1369 segments))))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1370 (if (and (< 0 tail) (<= tail buf-len))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1371 (setq segments
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1372 (cons (substring mac-ts-active-input-buf 0 tail)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1373 segments)))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1374 (setq mac-ts-active-input-buf (apply 'concat segments))))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1375 (setq buf-len (length mac-ts-active-input-buf))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1376 ;; Confirm (a part of) inline input session.
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1377 (cond ((< fix-len 0)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1378 ;; Entire inline session is being confirmed.
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1379 (setq confirmed mac-ts-active-input-buf)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1380 (setq mac-ts-active-input-buf ""))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1381 ((= fix-len 0)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1382 ;; None of the text is being confirmed (yet).
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1383 (setq confirmed ""))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1384 (t
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1385 (if (> fix-len buf-len)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1386 (setq fix-len buf-len))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1387 (setq confirmed (substring mac-ts-active-input-buf 0 fix-len))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1388 (setq mac-ts-active-input-buf
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1389 (substring mac-ts-active-input-buf fix-len))))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1390 (setq buf-len (length mac-ts-active-input-buf))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1391 ;; Update highlighting and the caret position in the new inline
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1392 ;; input session.
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1393 (remove-text-properties 0 buf-len '(cursor nil) mac-ts-active-input-buf)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1394 (mapc (lambda (rng)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1395 (cond ((and (= (nth 2 rng) 1) ; kTSMHiliteCaretPosition
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1396 (<= 0 (car rng)) (< (car rng) buf-len))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1397 (put-text-property (car rng) buf-len
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1398 'cursor t mac-ts-active-input-buf))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1399 ((and (<= 0 (car rng)) (< (car rng) (cadr rng))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1400 (<= (cadr rng) buf-len))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1401 (put-text-property (car rng) (cadr rng) 'face
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1402 (cdr (assq (nth 2 rng)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1403 mac-ts-hilite-style-faces))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1404 mac-ts-active-input-buf))))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1405 hilite-rng)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1406 confirmed))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1407
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1408 (defun mac-split-string-by-property-change (string)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1409 (let ((tail (length string))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1410 head result)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1411 (unless (= tail 0)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1412 (while (setq head (previous-property-change tail string)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1413 result (cons (substring string (or head 0) tail) result)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1414 tail head)))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1415 result))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1416
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1417 (defun mac-replace-untranslated-utf-8-chars (string &optional to-string)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1418 (or to-string (setq to-string "$,3u=(B"))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1419 (mapconcat
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1420 (lambda (str)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1421 (if (get-text-property 0 'untranslated-utf-8 str) to-string str))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1422 (mac-split-string-by-property-change string)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1423 ""))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1424
74892
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1425 (defun mac-keyboard-translate-char (ch)
91441
6cdf5d4140a1 (mac-keyboard-translate-char): Use characterp rather than char-valid-p.
Glenn Morris <rgm@gnu.org>
parents: 91327
diff changeset
1426 (if (and (characterp ch)
74892
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1427 (or (char-table-p keyboard-translate-table)
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1428 (and (or (stringp keyboard-translate-table)
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1429 (vectorp keyboard-translate-table))
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1430 (> (length keyboard-translate-table) ch))))
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1431 (or (aref keyboard-translate-table ch) ch)
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1432 ch))
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1433
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1434 (defun mac-unread-string (string)
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1435 ;; Unread characters and insert them in a keyboard macro being
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1436 ;; defined.
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1437 (apply 'isearch-unread
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1438 (mapcar 'mac-keyboard-translate-char
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1439 (mac-replace-untranslated-utf-8-chars string))))
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1440
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1441 (defun mac-ts-update-active-input-area (event)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1442 "Update Mac TSM active input area according to EVENT.
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1443 The confirmed text is converted to Emacs input events and pushed
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1444 into `unread-command-events'. The unconfirmed text is displayed
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1445 either in the current buffer or in the echo area."
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1446 (interactive "e")
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1447 (let* ((ae (mac-event-ae event))
71500
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1448 (type-text (mac-ae-parameter ae "tstx"))
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1449 (text (or (cdr type-text) ""))
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1450 (decode-fun (if (equal (car type-text) "TEXT")
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1451 'mac-TEXT-to-string 'mac-utxt-to-string))
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1452 (script-language (mac-ae-script-language ae "tssl"))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1453 (coding (or (cdr (assq (car script-language)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1454 mac-script-code-coding-systems))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1455 'mac-roman))
71356
a183bff9cb83 (mac-text-encoding-ascii): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71175
diff changeset
1456 (fix-len (mac-ae-number ae "tsfx"))
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1457 ;; Optional parameters
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1458 (hilite-rng (mac-ae-text-range-array ae "tshi"))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1459 (update-rng (mac-ae-text-range-array ae "tsup"))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1460 ;;(pin-rng (mac-bytes-to-text-range (cdr (mac-ae-parameter ae "tspn" "txrn"))))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1461 ;;(clause-offsets (cdr (mac-ae-parameter ae "tscl" "ofay")))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1462 (seqno (mac-ae-number ae "tsSn"))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1463 confirmed)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1464 (unless (= seqno mac-ts-update-active-input-area-seqno)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1465 ;; Reset internal states if sequence number is out of sync.
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1466 (setq mac-ts-active-input-buf ""))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1467 (setq confirmed
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1468 (mac-ts-update-active-input-buf text fix-len hilite-rng update-rng))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1469 (let ((use-echo-area
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1470 (or isearch-mode
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1471 (and cursor-in-echo-area (current-message))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1472 ;; Overlay strings are not shown in some cases.
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1473 (get-char-property (point) 'invisible)
71500
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1474 (and (not (bobp))
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1475 (or (and (get-char-property (point) 'display)
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1476 (eq (get-char-property (1- (point)) 'display)
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1477 (get-char-property (point) 'display)))
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1478 (and (get-char-property (point) 'composition)
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1479 (eq (get-char-property (1- (point)) 'composition)
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1480 (get-char-property (point) 'composition)))))))
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1481 active-input-string caret-seen)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1482 ;; Decode the active input area text with inheriting faces and
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1483 ;; the caret position.
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1484 (setq active-input-string
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1485 (mapconcat
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1486 (lambda (str)
71500
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1487 (let ((decoded (funcall decode-fun str coding)))
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1488 (put-text-property 0 (length decoded) 'face
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1489 (get-text-property 0 'face str) decoded)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1490 (when (and (not caret-seen)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1491 (get-text-property 0 'cursor str))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1492 (setq caret-seen t)
71500
fd5f866a10be (mac-handle-font-selection): Change keys of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71356
diff changeset
1493 (if (or use-echo-area (null cursor-type))
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1494 (put-text-property 0 1 'face 'mac-ts-caret-position
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1495 decoded)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1496 (put-text-property 0 1 'cursor t decoded)))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1497 decoded))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1498 (mac-split-string-by-property-change mac-ts-active-input-buf)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1499 ""))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1500 (put-text-property 0 (length active-input-string)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1501 'mac-ts-active-input-string t active-input-string)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1502 (if use-echo-area
71356
a183bff9cb83 (mac-text-encoding-ascii): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71175
diff changeset
1503 (let ((msg (current-message))
a183bff9cb83 (mac-text-encoding-ascii): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71175
diff changeset
1504 message-log-max)
a183bff9cb83 (mac-text-encoding-ascii): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71175
diff changeset
1505 (if (and msg
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1506 ;; Don't get confused by previously displayed
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1507 ;; `active-input-string'.
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1508 (null (get-text-property 0 'mac-ts-active-input-string
71356
a183bff9cb83 (mac-text-encoding-ascii): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71175
diff changeset
1509 msg)))
a183bff9cb83 (mac-text-encoding-ascii): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71175
diff changeset
1510 (setq msg (propertize msg 'display
a183bff9cb83 (mac-text-encoding-ascii): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71175
diff changeset
1511 (concat msg active-input-string)))
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1512 (setq msg active-input-string))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1513 (message "%s" msg)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1514 (overlay-put mac-ts-active-input-overlay 'before-string nil))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1515 (move-overlay mac-ts-active-input-overlay
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1516 (point) (point) (current-buffer))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1517 (overlay-put mac-ts-active-input-overlay 'before-string
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1518 active-input-string))
74892
b064bb685ef7 (mac-keyboard-translate-char, mac-unread-string):
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 74625
diff changeset
1519 (mac-unread-string (funcall decode-fun confirmed coding)))
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1520 ;; The event is successfully processed. Sync the sequence number.
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1521 (setq mac-ts-update-active-input-area-seqno (1+ seqno))))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1522
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1523 (defun mac-ts-unicode-for-key-event (event)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1524 "Convert Unicode key EVENT to Emacs key events and unread them."
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1525 (interactive "e")
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1526 (let* ((ae (mac-event-ae event))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1527 (text (cdr (mac-ae-parameter ae "tstx" "utxt")))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1528 (script-language (mac-ae-script-language ae "tssl"))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1529 (coding (or (cdr (assq (car script-language)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1530 mac-script-code-coding-systems))
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1531 'mac-roman)))
77659
5e0f43a8e936 (mac-ts-unicode-for-key-event): Check if text is available.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75831
diff changeset
1532 (if text
5e0f43a8e936 (mac-ts-unicode-for-key-event): Check if text is available.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75831
diff changeset
1533 (mac-unread-string (mac-utxt-to-string text coding)))))
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1534
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1535 ;; kEventClassTextInput/kEventTextInputUpdateActiveInputArea
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1536 (define-key mac-apple-event-map [text-input update-active-input-area]
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1537 'mac-ts-update-active-input-area)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1538 ;; kEventClassTextInput/kEventTextInputUnicodeForKeyEvent
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1539 (define-key mac-apple-event-map [text-input unicode-for-key-event]
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1540 'mac-ts-unicode-for-key-event)
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1541
70491
1ceca94285a6 (mac-utxt-to-string): Use `eq' instead of `='.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70429
diff changeset
1542 ;;; Services
70559
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1543 (defun mac-service-open-file ()
67662
db9106933641 (mac-handle-language-change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67487
diff changeset
1544 "Open the file specified by the selection value for Services."
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1545 (interactive)
80334
9833887c464d (mac-service-open-file): Use file URL instead of file name string.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79718
diff changeset
1546 ;; The selection seems not to contain the file name as
9833887c464d (mac-service-open-file): Use file URL instead of file name string.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79718
diff changeset
1547 ;; public.utf16-plain-text data on Mac OS X 10.4.
9833887c464d (mac-service-open-file): Use file URL instead of file name string.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 79718
diff changeset
1548 (dnd-open-file (x-get-selection mac-service-selection 'public.file-url) nil))
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1549
70559
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1550 (defun mac-service-open-selection ()
67662
db9106933641 (mac-handle-language-change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67487
diff changeset
1551 "Create a new buffer containing the selection value for Services."
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1552 (interactive)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1553 (switch-to-buffer (generate-new-buffer "*untitled*"))
70559
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1554 (insert (x-selection-value mac-service-selection))
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1555 (sit-for 0)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1556 (save-buffer) ; It pops up the save dialog.
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1557 )
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1558
70559
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1559 (defun mac-service-mail-selection ()
67662
db9106933641 (mac-handle-language-change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67487
diff changeset
1560 "Prepare a mail buffer containing the selection value for Services."
64245
4748803d9fb2 (mac-services-mail-selection, mac-services-mail-to): New functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64084
diff changeset
1561 (interactive)
4748803d9fb2 (mac-services-mail-selection, mac-services-mail-to): New functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64084
diff changeset
1562 (compose-mail)
4748803d9fb2 (mac-services-mail-selection, mac-services-mail-to): New functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64084
diff changeset
1563 (rfc822-goto-eoh)
4748803d9fb2 (mac-services-mail-selection, mac-services-mail-to): New functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64084
diff changeset
1564 (forward-line 1)
70559
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1565 (insert (x-selection-value mac-service-selection) "\n"))
64245
4748803d9fb2 (mac-services-mail-selection, mac-services-mail-to): New functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64084
diff changeset
1566
70559
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1567 (defun mac-service-mail-to ()
67662
db9106933641 (mac-handle-language-change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67487
diff changeset
1568 "Prepare a mail buffer to be sent to the selection value for Services."
64245
4748803d9fb2 (mac-services-mail-selection, mac-services-mail-to): New functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64084
diff changeset
1569 (interactive)
70559
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1570 (compose-mail (x-selection-value mac-service-selection)))
64245
4748803d9fb2 (mac-services-mail-selection, mac-services-mail-to): New functions.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64084
diff changeset
1571
70559
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1572 (defun mac-service-insert-text ()
67662
db9106933641 (mac-handle-language-change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67487
diff changeset
1573 "Insert the selection value for Services."
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1574 (interactive)
70559
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1575 (let ((text (x-selection-value mac-service-selection)))
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1576 (if (not buffer-read-only)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1577 (insert text)
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1578 (kill-new text)
87170
e50a2e215441 * erc-stamp.el (erc-echo-timestamp):
David Kastrup <dak@gnu.org>
parents: 86847
diff changeset
1579 (message "%s"
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1580 (substitute-command-keys
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1581 "The text from the Services menu can be accessed with \\[yank]")))))
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1582
70559
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1583 ;; kEventClassService/kEventServicePaste
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1584 (define-key mac-apple-event-map [service paste] 'mac-service-insert-text)
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1585 ;; kEventClassService/kEventServicePerform
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1586 (define-key mac-apple-event-map [service perform open-file]
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1587 'mac-service-open-file)
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1588 (define-key mac-apple-event-map [service perform open-selection]
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1589 'mac-service-open-selection)
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1590 (define-key mac-apple-event-map [service perform mail-selection]
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1591 'mac-service-mail-selection)
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1592 (define-key mac-apple-event-map [service perform mail-to]
a1af34eacdb3 (mac-font-panel-mode): Doc fix.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70491
diff changeset
1593 'mac-service-mail-to)
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1594
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1595 (defun mac-dispatch-apple-event (event)
67662
db9106933641 (mac-handle-language-change)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67487
diff changeset
1596 "Dispatch EVENT according to the keymap `mac-apple-event-map'."
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1597 (interactive "e")
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1598 (let* ((binding (lookup-key mac-apple-event-map (mac-event-spec event)))
70870
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1599 (ae (mac-event-ae event))
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1600 (service-message (and (keymapp binding)
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1601 (cdr (mac-ae-parameter ae "svmg")))))
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1602 (when service-message
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1603 (setq service-message
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1604 (intern (decode-coding-string service-message 'utf-8)))
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1605 (setq binding (lookup-key binding (vector service-message))))
68035
a9b674b9cf4c (mac-ae-parameter): Don't coerce data if it is
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67662
diff changeset
1606 ;; Replace (cadr event) with a dummy position so that event-start
a9b674b9cf4c (mac-ae-parameter): Don't coerce data if it is
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67662
diff changeset
1607 ;; returns it.
a9b674b9cf4c (mac-ae-parameter): Don't coerce data if it is
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67662
diff changeset
1608 (setcar (cdr event) (list (selected-window) (point) '(0 . 0) 0))
70870
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1609 (if (null (mac-ae-parameter ae 'emacs-suspension-id))
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1610 (command-execute binding nil (vector event) t)
70870
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1611 (condition-case err
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1612 (progn
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1613 (command-execute binding nil (vector event) t)
70870
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1614 (mac-resume-apple-event ae))
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1615 (error
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1616 (mac-ae-set-reply-parameter ae "errs"
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1617 (cons "TEXT" (error-message-string err)))
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1618 (mac-resume-apple-event ae -10000)))))) ; errAEEventFailed
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1619
71175
ed68e074ebb4 (mac-ts-active-input-overlay): Add defvar.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70870
diff changeset
1620 (define-key special-event-map [mac-apple-event] 'mac-dispatch-apple-event)
67450
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1621
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1622 ;; Processing of Apple events are deferred at the startup time. For
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1623 ;; example, files dropped onto the Emacs application icon can only be
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1624 ;; processed when the initial frame has been created: this is where
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1625 ;; the files should be opened.
fa74deeadab8 Require url when compiling. Call
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 67099
diff changeset
1626 (add-hook 'after-init-hook 'mac-process-deferred-apple-events)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1627
70870
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1628 (run-with-idle-timer 5 t 'mac-cleanup-expired-apple-events)
e5af358ce93a Set idle timer to clean up expired Apple events.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70763
diff changeset
1629
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1630
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1631 ;;;; Drag and drop
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1632
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1633 (defcustom mac-dnd-types-alist
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1634 '(("furl" . mac-dnd-handle-furl)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1635 ("hfs " . mac-dnd-handle-hfs)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1636 ("utxt" . mac-dnd-insert-utxt)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1637 ("TEXT" . mac-dnd-insert-TEXT)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1638 ("TIFF" . mac-dnd-insert-TIFF))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1639 "Which function to call to handle a drop of that type.
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1640 The function takes three arguments, WINDOW, ACTION and DATA.
75142
1e951eb6473e (mac-dnd-types-alist): Fix typo in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents: 74892
diff changeset
1641 WINDOW is where the drop occurred, ACTION is always `private' on
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1642 Mac. DATA is the drop data. Unlike the x-dnd counterpart, the
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1643 return value of the function is not significant.
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1644
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1645 See also `mac-dnd-known-types'."
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1646 :version "22.1"
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1647 :type 'alist
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1648 :group 'mac)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1649
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1650 (defun mac-dnd-handle-furl (window action data)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1651 (dnd-handle-one-url window action (mac-furl-to-string data)))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1652
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1653 (defun mac-dnd-handle-hfs (window action data)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1654 ;; struct HFSFlavor {
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1655 ;; OSType fileType;
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1656 ;; OSType fileCreator;
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1657 ;; UInt16 fdFlags;
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1658 ;; FSSpec fileSpec;
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1659 ;; };
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1660 (let* ((file-name (mac-coerce-ae-data "fss " (substring data 10)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1661 'undecoded-file-name))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1662 (url (concat "file://"
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1663 (mapconcat 'url-hexify-string
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1664 (split-string file-name "/") "/"))))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1665 (dnd-handle-one-url window action url)))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1666
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1667 (defun mac-dnd-insert-utxt (window action data)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1668 (dnd-insert-text window action (mac-utxt-to-string data)))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1669
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1670 (defun mac-dnd-insert-TEXT (window action data)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1671 (dnd-insert-text window action (mac-TEXT-to-string data)))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1672
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1673 (defun mac-dnd-insert-TIFF (window action data)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1674 (dnd-insert-text window action (mac-TIFF-to-string data)))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1675
75375
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1676 (defun mac-dnd-drop-data (event frame window data type &optional action)
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1677 (or action (setq action 'private))
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1678 (let* ((type-info (assoc type mac-dnd-types-alist))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1679 (handler (cdr type-info))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1680 (w (posn-window (event-start event))))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1681 (when handler
80384
7c4dd8e082ee (mac-dnd-drop-data): Remove redundant check.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 80334
diff changeset
1682 (if (and (window-live-p w)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1683 (not (window-minibuffer-p w))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1684 (not (window-dedicated-p w)))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1685 ;; If dropping in an ordinary window which we could use,
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1686 ;; let dnd-open-file-other-window specify what to do.
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1687 (progn
72536
59670fc88353 (mac-apple-event-map): Rename hicommand to hi-command.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71500
diff changeset
1688 (when (not mouse-yank-at-point)
59670fc88353 (mac-apple-event-map): Rename hicommand to hi-command.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 71500
diff changeset
1689 (goto-char (posn-point (event-start event))))
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1690 (funcall handler window action data))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1691 ;; If we can't display the file here,
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1692 ;; make a new window for it.
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1693 (let ((dnd-open-file-other-window t))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1694 (select-frame frame)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1695 (funcall handler window action data))))))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1696
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1697 (defun mac-dnd-handle-drag-n-drop-event (event)
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1698 "Receive drag and drop events."
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1699 (interactive "e")
75375
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1700 (let ((window (posn-window (event-start event)))
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1701 (ae (mac-event-ae event))
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1702 action)
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1703 (when (windowp window) (select-window window))
75375
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1704 (if (memq 'option (mac-ae-keyboard-modifiers ae))
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1705 (setq action 'copy))
2d3bcf670390 (mac-keyboard-modifier-mask-alist): New constant.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75347
diff changeset
1706 (dolist (item (mac-ae-list ae))
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1707 (if (not (equal (car item) "null"))
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1708 (mac-dnd-drop-data event (selected-frame) window
75831
906e93bebe5f Change all uses of
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 75375
diff changeset
1709 (cdr item) (car item) action)))))
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1710
90149
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1711 (setq font-encoding-alist
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1712 (append
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1713 '(("mac-roman" . mac-roman)
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1714 ("mac-centraleurroman" . mac-centraleurroman)
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1715 ("mac-cyrillic" . mac-cyrillic)
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1716 ("mac-symbol" . mac-symbol)
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1717 ("mac-dingbats" . mac-dingbats))
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1718 font-encoding-alist))
64275
a6a8c13a3caa (ccl-encode-mac-roman-font, ccl-encode-mac-centraleurroman-font)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64245
diff changeset
1719
95838
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1720 (declare-function set-fontset-font "fontset.c"
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1721 (name target font-spec &optional frame add))
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1722
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1723 (defun fontset-add-mac-fonts (fontset &optional base-family)
90149
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1724 (dolist (elt `((latin . (,(or base-family "Monaco") . "mac-roman"))
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1725 (mac-roman . (,base-family . "mac-roman"))
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1726 (mac-centraleurroman . (,base-family . "mac-centraleurroman"))
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1727 (mac-cyrillic . (,base-family . "mac-cyrillic"))
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1728 (mac-symbol . (,base-family . "mac-symbol"))
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1729 (mac-dingbats . (,base-family . "mac-dingbats"))))
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1730 (set-fontset-font fontset (car elt) (cdr elt))))
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1731
95838
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1732 (declare-function new-fontset "fontset.c" (name fontlist))
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1733
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1734 (defun create-fontset-from-mac-roman-font (font &optional resolved-font
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1735 fontset-name)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1736 "Create a fontset from a Mac roman font FONT.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1737
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1738 Optional 1st arg RESOLVED-FONT is a resolved name of FONT. If
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1739 omitted, `x-resolve-font-name' is called to get the resolved name. At
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1740 this time, if FONT is not available, error is signaled.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1741
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1742 Optional 2nd arg FONTSET-NAME is a string to be used in
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1743 `<CHARSET_ENCODING>' fields of a new fontset name. If it is omitted,
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1744 an appropriate name is generated automatically.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1745
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1746 It returns a name of the created fontset."
90149
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1747 (or resolved-font
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1748 (setq resolved-font (x-resolve-font-name font)))
90150
4eded3eec512 (create-fontset-from-mac-roman-font): Fix previous change.
Kenichi Handa <handa@m17n.org>
parents: 90149
diff changeset
1749 (let ((base-family (aref (x-decompose-font-name resolved-font)
4eded3eec512 (create-fontset-from-mac-roman-font): Fix previous change.
Kenichi Handa <handa@m17n.org>
parents: 90149
diff changeset
1750 xlfd-regexp-family-subnum)))
90149
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1751 (if (string= base-family "*")
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1752 (setq base-family nil))
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1753 (new-fontset fontset-name (list (cons 'ascii resolved-font)))
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1754 (fontset-add-mac-fonts fontset-name base-family)))
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1755
83620
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1756 (defun x-win-suspend-error ()
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1757 (error "Suspending an Emacs running under Mac makes no sense"))
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1758
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1759 (defalias 'x-cut-buffer-or-selection-value 'x-get-selection-value)
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1760
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1761 (defvar mac-initialized nil
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1762 "Non-nil if the w32 window system has been initialized.")
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1763
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1764 (defun mac-initialize-window-system ()
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1765 "Initialize Emacs for Mac GUI frames."
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1766
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1767 ;;; Do the actual Windows setup here; the above code just defines
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1768 ;;; functions and variables that we use now.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1769
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1770 (setq command-line-args (x-handle-args command-line-args))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1771
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1772 ;;; Make sure we have a valid resource name.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1773 (or (stringp x-resource-name)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1774 (let (i)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1775 (setq x-resource-name (invocation-name))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1776
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1777 ;; Change any . or * characters in x-resource-name to hyphens,
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1778 ;; so as not to choke when we use it in X resource queries.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1779 (while (setq i (string-match "[.*]" x-resource-name))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1780 (aset x-resource-name i ?-))))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1781
95838
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1782 (declare-function x-display-list "macfns.c" ())
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1783 (declare-function x-open-connection "macfns.c"
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1784 (display &optional xrm-string must-succeed))
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1785
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1786 (if (x-display-list)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1787 ;; On Mac OS 8/9, Most coding systems used in code conversion for
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1788 ;; font names are not ready at the time when the terminal frame is
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1789 ;; created. So we reconstruct font name table for the initial
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1790 ;; frame.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1791 (mac-clear-font-name-table)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1792 (x-open-connection "Mac"
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1793 x-command-line-resources
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1794 ;; Exit Emacs with fatal error if this fails.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1795 t))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1796
83620
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1797 (add-hook 'suspend-hook 'x-win-suspend-error)
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1798
83620
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1799 ;;; Arrange for the kill and yank functions to set and check the clipboard.
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1800 (setq interprogram-cut-function 'x-select-text)
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1801 (setq interprogram-paste-function 'x-get-selection-value)
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1802
83620
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1803
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1804
64275
a6a8c13a3caa (ccl-encode-mac-roman-font, ccl-encode-mac-centraleurroman-font)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64245
diff changeset
1805
83620
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1806 ;;; Turn off window-splitting optimization; Mac is usually fast enough
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1807 ;;; that this is only annoying.
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1808 (setq split-window-keep-point t)
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1809
83620
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1810 ;; Don't show the frame name; that's redundant.
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1811 (setq-default mode-line-frame-identification " ")
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1812
83620
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1813 ;; Turn on support for mouse wheels.
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1814 (mouse-wheel-mode 1)
61659
e40b2bd9a366 Add coding: tag and set it to iso-2022-7bit.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61556
diff changeset
1815
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1816
83620
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1817 ;; Enable CLIPBOARD copy/paste through menu bar commands.
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1818 (menu-bar-enable-clipboard)
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1819
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1820
83620
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1821 ;; Initiate drag and drop
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1822
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1823 (define-key special-event-map [drag-n-drop] 'mac-dnd-handle-drag-n-drop-event)
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1824
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1825
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1826 ;;;; Non-toolkit Scroll bars
64275
a6a8c13a3caa (ccl-encode-mac-roman-font, ccl-encode-mac-centraleurroman-font)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64245
diff changeset
1827
95838
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1828 (unless (and (boundp 'x-toolkit-scroll-bars) x-toolkit-scroll-bars)
83620
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1829
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1830 ;; for debugging
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1831 ;; (defun mac-handle-scroll-bar-event (event) (interactive "e") (princ event))
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1832
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1833 ;;(global-set-key [vertical-scroll-bar mouse-1] 'mac-handle-scroll-bar-event)
64275
a6a8c13a3caa (ccl-encode-mac-roman-font, ccl-encode-mac-centraleurroman-font)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 64245
diff changeset
1834
83620
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1835 (global-set-key
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1836 [vertical-scroll-bar down-mouse-1]
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1837 'mac-handle-scroll-bar-event)
61778
1b44d34506e4 Require select. Set selection-coding-system to
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61680
diff changeset
1838
83620
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1839 (global-unset-key [vertical-scroll-bar drag-mouse-1])
ce4352d8bee9 * loadup.el: Load mac-win on a Mac. Avoid loading both x-win and
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83619
diff changeset
1840 (global-unset-key [vertical-scroll-bar mouse-1])
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1841
69671
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1842 ;; Adjust Courier font specifications in x-fixed-font-alist.
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1843 (let ((courier-fonts (assoc "Courier" x-fixed-font-alist)))
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1844 (if courier-fonts
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1845 (dolist (label-fonts (cdr courier-fonts))
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1846 (setcdr label-fonts
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1847 (mapcar
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1848 (lambda (font)
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1849 (if (string-match "\\`-adobe-courier-\\([^-]*\\)-\\(.\\)-\\(.*\\)-iso8859-1\\'" font)
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1850 (replace-match
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1851 (if (string= (match-string 2 font) "o")
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1852 "-*-courier-\\1-i-\\3-*-*"
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1853 "-*-courier-\\1-\\2-\\3-*-*")
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1854 t nil font)
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1855 font))
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1856 (cdr label-fonts))))))
e9b0a8e10992 Adjust Courier font specifications in x-fixed-font-alist.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68766
diff changeset
1857
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1858 ;; Setup the default fontset.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1859 (setup-default-fontset)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1860
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1861 ;; Create a fontset that uses mac-roman font. With this fontset,
90149
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1862 ;; characters belonging to mac-roman charset (that contains ASCII and
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1863 ;; more Latin characters) are displayed by a mac-roman font.
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1864 (create-fontset-from-mac-roman-font
04a655b49105 Sync with the main trunk.
Kenichi Handa <handa@m17n.org>
parents: 90147
diff changeset
1865 "-*-Monaco-*-*-*-*-12-*-*-*-*-*-mac-roman" nil
90295
4b3d39451150 Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-14
Miles Bader <miles@gnu.org>
parents: 90294 68766
diff changeset
1866 "-apple-Monaco-normal-r-*-*-12-*-*-*-*-*-fontset-standard")
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1867
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1868 ;; Create fontset specified in X resources "Fontset-N" (N is 0, 1, ...).
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1869 (create-fontset-from-x-resource)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1870
95838
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1871 (declare-function x-get-resource "frame.c"
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1872 (attribute class &optional component subclass))
e7b40b183291 (x-toolkit-scroll-bars): Check bound.
Glenn Morris <rgm@gnu.org>
parents: 94852
diff changeset
1873
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1874 ;; Apply a geometry resource to the initial frame. Put it at the end
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1875 ;; of the alist, so that anything specified on the command line takes
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1876 ;; precedence.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1877 (let* ((res-geometry (x-get-resource "geometry" "Geometry"))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1878 parsed)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1879 (if res-geometry
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1880 (progn
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1881 (setq parsed (x-parse-geometry res-geometry))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1882 ;; If the resource specifies a position,
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1883 ;; call the position and size "user-specified".
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1884 (if (or (assq 'top parsed) (assq 'left parsed))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1885 (setq parsed (cons '(user-position . t)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1886 (cons '(user-size . t) parsed))))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1887 ;; All geometry parms apply to the initial frame.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1888 (setq initial-frame-alist (append initial-frame-alist parsed))
73431
246a1d48fea4 *** empty log message ***
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72703
diff changeset
1889 ;; The size parms apply to all frames. Don't set it if there are
246a1d48fea4 *** empty log message ***
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72703
diff changeset
1890 ;; sizes there already (from command line).
246a1d48fea4 *** empty log message ***
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72703
diff changeset
1891 (if (and (assq 'height parsed)
246a1d48fea4 *** empty log message ***
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72703
diff changeset
1892 (not (assq 'height default-frame-alist)))
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1893 (setq default-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1894 (cons (cons 'height (cdr (assq 'height parsed)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1895 default-frame-alist)))
73431
246a1d48fea4 *** empty log message ***
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72703
diff changeset
1896 (if (and (assq 'width parsed)
246a1d48fea4 *** empty log message ***
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 72703
diff changeset
1897 (not (assq 'width default-frame-alist)))
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1898 (setq default-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1899 (cons (cons 'width (cdr (assq 'width parsed)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1900 default-frame-alist))))))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1901
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1902 ;; Check the reverseVideo resource.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1903 (let ((case-fold-search t))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1904 (let ((rv (x-get-resource "reverseVideo" "ReverseVideo")))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1905 (if (and rv
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1906 (string-match "^\\(true\\|yes\\|on\\)$" rv))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1907 (setq default-frame-alist
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1908 (cons '(reverse . t) default-frame-alist)))))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1909
83619
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83565
diff changeset
1910 (setq mac-initialized t)))
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1911
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1912 (defun mac-handle-scroll-bar-event (event)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1913 "Handle scroll bar EVENT to emulate Mac Toolbox style scrolling."
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1914 (interactive "e")
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1915 (let* ((position (event-start event))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1916 (window (nth 0 position))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1917 (bar-part (nth 4 position)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1918 (select-window window)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1919 (cond
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1920 ((eq bar-part 'up)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1921 (goto-char (window-start window))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1922 (mac-scroll-down-line))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1923 ((eq bar-part 'above-handle)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1924 (mac-scroll-down))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1925 ((eq bar-part 'handle)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1926 (scroll-bar-drag event))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1927 ((eq bar-part 'below-handle)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1928 (mac-scroll-up))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1929 ((eq bar-part 'down)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1930 (goto-char (window-start window))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1931 (mac-scroll-up-line)))))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1932
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1933 (defun mac-scroll-ignore-events ()
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1934 ;; Ignore confusing non-mouse events
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1935 (while (not (memq (car-safe (read-event))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1936 '(mouse-1 double-mouse-1 triple-mouse-1))) nil))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1937
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1938 (defun mac-scroll-down ()
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1939 (track-mouse
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1940 (mac-scroll-ignore-events)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1941 (scroll-down)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1942
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1943 (defun mac-scroll-down-line ()
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1944 (track-mouse
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1945 (mac-scroll-ignore-events)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1946 (scroll-down 1)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1947
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1948 (defun mac-scroll-up ()
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1949 (track-mouse
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1950 (mac-scroll-ignore-events)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1951 (scroll-up)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1952
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1953 (defun mac-scroll-up-line ()
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1954 (track-mouse
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1955 (mac-scroll-ignore-events)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1956 (scroll-up 1)))
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1957
70379
8a0284e52e27 (mac-utxt-to-string, mac-string-to-utxt)
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 70298
diff changeset
1958
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1959
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1960 ;;;; Others
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1961
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1962 (unless (eq system-type 'darwin)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1963 ;; This variable specifies the Unix program to call (as a process) to
60190
e7acbfa92707 (function-key-map): Use char-names more consistently.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 59658
diff changeset
1964 ;; determine the amount of free space on a file system (defaults to
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1965 ;; df). If it is not set to nil, ls-lisp will not work correctly
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1966 ;; unless an external application df is implemented on the Mac.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1967 (setq directory-free-space-program nil)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1968
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1969 ;; Set this so that Emacs calls subprocesses with "sh" as shell to
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1970 ;; expand filenames Note no subprocess for the shell is actually
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1971 ;; started (see run_mac_command in sysdep.c).
60190
e7acbfa92707 (function-key-map): Use char-names more consistently.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 59658
diff changeset
1972 (setq shell-file-name "sh")
e7acbfa92707 (function-key-map): Use char-names more consistently.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 59658
diff changeset
1973
61556
6b15c97abf1d Don't set file-name-coding-system. Decode variables system-name,
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61502
diff changeset
1974 ;; Some system variables are encoded with the system script code.
6b15c97abf1d Don't set file-name-coding-system. Decode variables system-name,
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61502
diff changeset
1975 (dolist (v '(system-name
6b15c97abf1d Don't set file-name-coding-system. Decode variables system-name,
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61502
diff changeset
1976 emacs-build-system ; Mac OS 9 version cannot dump
6b15c97abf1d Don't set file-name-coding-system. Decode variables system-name,
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61502
diff changeset
1977 user-login-name user-real-login-name user-full-name))
6b15c97abf1d Don't set file-name-coding-system. Decode variables system-name,
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 61502
diff changeset
1978 (set v (decode-coding-string (symbol-value v) mac-system-coding-system))))
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1979
67090
a9abf9b53bef Don't change default directory.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 66107
diff changeset
1980 ;; Now the default directory is changed to the user's home directory
a9abf9b53bef Don't change default directory.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 66107
diff changeset
1981 ;; in emacs.c if invoked from the WindowServer (with -psn_* option).
a9abf9b53bef Don't change default directory.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 66107
diff changeset
1982 ;; (if (string= default-directory "/")
a9abf9b53bef Don't change default directory.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 66107
diff changeset
1983 ;; (cd "~"))
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1984
59658
45074d913d23 * editfns.c (Voperating_system_release): Added.
Steven Tamm <steventamm@mac.com>
parents: 59645
diff changeset
1985 ;; Darwin 6- pty breakage is now controlled from the C code so that
45074d913d23 * editfns.c (Voperating_system_release): Added.
Steven Tamm <steventamm@mac.com>
parents: 59645
diff changeset
1986 ;; it applies to all builds on darwin. See s/darwin.h PTY_ITERATION.
45074d913d23 * editfns.c (Voperating_system_release): Added.
Steven Tamm <steventamm@mac.com>
parents: 59645
diff changeset
1987 ;; (setq process-connection-type t)
59144
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1988
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1989 ;; Assume that fonts are always scalable on the Mac. This sometimes
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1990 ;; results in characters with jagged edges. However, without it,
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1991 ;; fonts with both truetype and bitmap representations but no italic
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1992 ;; or bold bitmap versions will not display these variants correctly.
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1993 (setq scalable-fonts-allowed t)
8d9ea622c741 * term/mac-win.el: Sync with x-win.el. Rearrange the contents.
Steven Tamm <steventamm@mac.com>
parents: 59034
diff changeset
1994
83619
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83565
diff changeset
1995 (add-to-list 'handle-args-function-alist '(mac . x-handle-args))
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83565
diff changeset
1996 (add-to-list 'frame-creation-function-alist '(mac . x-create-frame-with-faces))
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83565
diff changeset
1997 (add-to-list 'window-system-initialization-alist '(mac . mac-initialize-window-system))
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83565
diff changeset
1998
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83565
diff changeset
1999 (provide 'mac-win)
5da6a46ddbd6 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
Dan Nicolaescu <dann@ics.uci.edu>
parents: 83565
diff changeset
2000
60190
e7acbfa92707 (function-key-map): Use char-names more consistently.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 59658
diff changeset
2001 ;; arch-tag: 71dfcd14-cde8-4d66-b05c-85ec94fb23a6
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
2002 ;;; mac-win.el ends here