annotate lisp/gtk-faces.el @ 502:7039e6323819

[xemacs-hg @ 2001-05-04 22:41:46 by ben] ----------------------- byte-comp warning fixes ----------------- New functions for cleanly eliminating byte-compiler warnings. Their definitions require no changes at all in bytecomp.el, meaning that any package that wants to use them and be compatible with older versions of XEmacs need only copy the code and rename the functions (i.e. prefix them with the package name). Eliminate byte-compiler warnings using the new functions in bytecomp-runtime.el. Move coding-system-put,get,category, since they're not Mule-specific and are used in prefer-coding-system. font.el was incredibly ugly. Clean it up. Avoid using defsubst for any exported functions, to avoid possible compatibility problems if we later change the internal interface. (It happened before, with face accessors, between 19.8 and 19.9). Fix tons of warnings. Clean up (new function gpm-is-supported-p eliminates duplicate code in gpm-create/delete-device-hook) and eliminate warnings. ---------- make byte-recompile-directory work in the --------- core `lisp' dir, even in the absence of a Mule XEmacs (i.e. make it skip the Mule files rather than trying to compile them). now you should be able to do `touch *.el' in the `lisp' dir, then M-x byte-recompile-directory, and get no warnings. Avoid trying to compile Mule files in byte-recompile-directory when we're not in a Mule XEmacs, since we're highly likely to get syntax errors. Add a coding-system cookie to all Mule files so that byte-recompile-directory ignores them. Magic cookie function moved to files.el from code-files.el (for use by bytecomp even in a non-coding-system XEmacs), and changed names and semantics for use by bytecomp. NOTE: IMO this is an internal function that we can change as we like (and there is absolutely no code anywhere else using the function). ---------------- GUI improvements: menus, help ------------------- Rearrange order of keymap declarations to be alphabetical. Improve help on help to include all bindings, and group by category. Add bindings for new Info commands. Remove warnings. Use command-hyper-apropos in place of command-apropos. Add a function to do the equivalent of command-apropos. Evals its help-text argument so you can put expressions there. Used now by help-for-help. Add binding to continue text searches. Expand index searches to work over multiple info documents. Add commands to search text/index in User and Lispref. Add new entry, "Uncomment Region" (parallels "Comment Out Region"). Redo Help menu; add bindings for new Info commands to search the index or text of the User and Lispref manuals. Add command for mark-paragraph, activate-region. Make Edit->R accelerator be rectangle, not register (more commonly used), and put rectangle first. Fix the Edit Init File entry to never load the .elc file. Simplify the default-popup-menu. Add Cmds->Tabs menu. Use kp-left not kp_left, etc. ---------------- Miscellaneous bug fixes/cleanup ------------------- byte-compiler-options: Correct doc string. easy-menu-do-define: fix extra quote. fill-paragraph-or-region:Rewrite to be more correct -- use call-interactively so that we always get exactly the same behavior as if the functions were called directly. No need to fiddle with zmacs-region-stays, now that bogus clearing of it (2001-04-28 src/ChangeLog) is removed. Put dialog titles back in -- this time correctly. Fix various other problems with leaks and such. key-sequence-list-description: Clean up fun to always correctly canonicalize. Clean up Kinsoku comments, synch comment-region with FSF 20.7. * simple.el (region-exists-p): * simple.el (region-active-p): Add comment about which one is correct to use in menu specs. * sound.el (load-sound-file): Minor code clean up. * startup.el: * startup.el (command-line-early): * startup.el (initial-scratch-message): Comment changes. Add info about sample.init.el to splash screen. Improve initial-scratch-message and clarify purpose of Scratch buffer. Fix byte-compile warning. ------------------------ Added features ------------------------- Add new variable to control whether etags checks all parent directories for tag files. (On by default.) * hash-table.el: New file, useful utility functions. * dumped-lisp.el (preloaded-file-list): Dump hash-table.el. ------------ notable bug fix: Windows event code -------------- Get critical quit working. ------------ notable bug fix and new feature: regex code -------------- Shy groups were implemented in a horrible, half-assed way that would cause them to screw up regex searching in most cases. Fixed to work correctly. Also extended back-reference syntax past 9. Only is recognized as such if there are at least that many non-shy groups; and optionally will warn about such uses, to catch old code that might be using them differently. (Added variable to control this in search.c -- `warn-about-possibly-incompatible-back- references', on by default for the moment. Declared in lisp.h. ---------------- process/SIGIO improvements ------------------- define USE_GETADDRINFO to replace more complex conditional, and use it. the code conditionalized on this in unix_open_network_stream had *serious* problems handling errors. it's now fixed, and major amounts of duplicate code between the two versions were combined. don't disable SIGIO and other interrupts unless CONNECT_NEEDS_SLOWED_INTERRUPTS is defined -- don't penalize OS's without bugs. similarly for a freebsd bug that was affecting all OS's. * s\ultrix.h: define CONNECT_NEEDS_SLOWED_INTERRUPTS, since that's the OS mentioned as having a kernel bug. * sysdep.c (request_sigio_on_device): * sysdep.c (unrequest_sigio_on_device): fix SIGIO problems on Linux. add check for O_ASYNC in case it's defined and FASYNC isn't. add comment about other ways to do SIGIO on Linux. * callproc.c (Fold_call_process_internal): * process.c (Fstart_process_internal): Deal with the possibility that `default-directory' doesn't have terminating slash. Correct comments about vfork. ---------------- Miscellaneous bug fixes/cleanup ------------------- * callint.c (Finteractive): Add lots of documentation -- exactly what the Lisp equivalents of all the interactive specs are. * console.h (struct console): change type of quit_char to Emchar. * event-msw.c (lstream_type_create_mswindows_selectable): spacing change. Eliminate events-mod.h and combine into events.h. * emacs.c: * emacs.c (make_arg_list_1): * emacs.c (main_1): A couple of char->Extbyte changes, add a comment. * glyphs-msw.c: Correct indentation of function defns to not exceed 80 cols. Try (sort of) to fix some code that sets the colors of the progress gauge. (Commented out) * keymap.c (syms_of_keymap): use DEFSYMBOL. * process.c (read_process_output): No need to fiddle with zmacs_region_stays, now that bogus clearing of it (see below) is removed. * search.c (Freplace_match): warning fix.
author ben
date Fri, 04 May 2001 22:42:35 +0000
parents 0784d089fdc9
children 958d47e9d2c4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
1 ;;; gtk-faces.el --- GTK-specific face frobnication, aka black magic.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
2
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
3 ;; Copyright (C) 1992-4, 1997 Free Software Foundation, Inc.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
4 ;; Copyright (C) 1995, 1996 Ben Wing.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
5 ;; Copyright (c) 2000 William Perry
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
6
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
7 ;; Author: William M. Perry <wmperry@gnu.org>
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
8 ;; Maintainer: XEmacs Development Team
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
9 ;; Keywords: extensions, internal, dumped
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
10
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
11 ;; This file is part of XEmacs.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
12
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
13 ;; XEmacs is free software; you can redistribute it and/or modify it
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
14 ;; under the terms of the GNU General Public License as published by
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
15 ;; the Free Software Foundation; either version 2, or (at your option)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
16 ;; any later version.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
17
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
18 ;; XEmacs is distributed in the hope that it will be useful, but
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
19 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
21 ;; General Public License for more details.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
22
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
23 ;; You should have received a copy of the GNU General Public License
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
24 ;; along with XEmacs; see the file COPYING. If not, write to the
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
25 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
26 ;; Boston, MA 02111-1307, USA.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
27
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
28 ;;; Synched up with: Not synched.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
29
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
30 ;;; Commentary:
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
31
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
32 ;; This file is dumped with XEmacs (when GTK support is compiled in).
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
33
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
34 (globally-declare-fboundp
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
35 '(gtk-init-pointers
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
36 gtk-font-selection-dialog-new
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
37 gtk-widget-set-sensitive gtk-font-selection-dialog-apply-button
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
38 gtk-signal-connect gtk-main-quit
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
39 gtk-font-selection-dialog-ok-button
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
40 gtk-font-selection-dialog-get-font-name gtk-widget-destroy
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
41 font-menu-set-font font-family font-size
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
42 gtk-font-selection-dialog-cancel-button gtk-widget-show-all
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
43 gtk-main))
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
44
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
45 (defun gtk-init-find-device ()
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
46 (let ((dev nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
47 (devices (device-list)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
48 (while (and (not dev) devices)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
49 (if (eq (device-type (car devices)) 'gtk)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
50 (setq dev (car devices)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
51 (setq devices (cdr devices)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
52 dev))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
53
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
54 ;;; gtk-init-device-faces is responsible for initializing default
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
55 ;;; values for faces on a newly created device.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
56 ;;;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
57 (defun gtk-init-device-faces (device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
58 ;;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
59 ;; If the "default" face didn't have a font specified, try to pick one.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
60 ;;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
61 (if (not (eq (device-type device) 'gtk))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
62 nil
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
63 (gtk-init-pointers)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
64 '(let* ((style (gtk-style-info device))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
65 ;;(normal 0) ; GTK_STATE_NORMAL
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
66 ;;(active 1) ; GTK_STATE_ACTIVE
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
67 (prelight 2) ; GTK_STATE_PRELIGHT
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
68 (selected 3) ; GTK_STATE_SELECTED
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
69 ;;(insensitive 4) ; GTK_STATE_INSENSITIVE
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
70 )
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
71 (set-face-foreground 'highlight
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
72 (nth prelight (plist-get style 'text))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
73 device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
74 (set-face-background 'highlight
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
75 (nth prelight (plist-get style 'background))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
76 device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
77 (set-face-foreground 'zmacs-region
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
78 (nth selected (plist-get style 'text))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
79 device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
80 (set-face-background 'zmacs-region
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
81 (nth selected (plist-get style 'background))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
82 device))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
83 (set-face-background 'text-cursor "red3" device)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
84
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
85 ;;; This is called from `init-frame-faces', which is called from
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
86 ;;; init_frame_faces() which is called from Fmake_frame(), to perform
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
87 ;;; any device-specific initialization.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
88 ;;;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
89 (defun gtk-init-frame-faces (frame)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
90 )
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
91
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
92 ;;; gtk-init-global-faces is responsible for ensuring that the
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
93 ;;; default face has some reasonable fallbacks if nothing else is
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
94 ;;; specified.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
95 ;;;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
96 (defun gtk-init-global-faces ()
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
97 (let* ((dev (gtk-init-find-device))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
98 (default-font (or (face-font 'default 'global)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
99 ;(plist-get (gtk-style-info dev) 'font)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
100 "-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
101 (italic-font (or (gtk-make-font-italic default-font dev) default-font))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
102 (bold-font (or (gtk-make-font-bold default-font dev) default-font))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
103 (bi-font (or (gtk-make-font-bold-italic default-font dev) default-font)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
104
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
105 (or (face-font 'default 'global)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
106 (set-face-font 'default default-font 'global '(gtk default)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
107
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
108 (or (face-font 'bold 'global)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
109 (set-face-font 'bold bold-font 'global '(gtk default)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
110
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
111 (or (face-font 'bold-italic 'global)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
112 (set-face-font 'bold-italic bi-font 'global '(gtk default)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
113
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
114 (or (face-font 'italic 'global)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
115 (set-face-font 'italic italic-font 'global '(gtk default)))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
116
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
117
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
118 ;;; Lots of this stolen from x-faces.el - I'm not sure if this will
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
119 ;;; require a rewrite for win32 or not?
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
120 (defconst gtk-font-regexp nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
121 (defconst gtk-font-regexp-head nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
122 (defconst gtk-font-regexp-head-2 nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
123 (defconst gtk-font-regexp-weight nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
124 (defconst gtk-font-regexp-slant nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
125 (defconst gtk-font-regexp-pixel nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
126 (defconst gtk-font-regexp-point nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
127 (defconst gtk-font-regexp-foundry-and-family nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
128 (defconst gtk-font-regexp-registry-and-encoding nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
129 (defconst gtk-font-regexp-spacing nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
130
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
131 ;;; Regexps matching font names in "Host Portable Character Representation."
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
132 ;;;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
133 (let ((- "[-?]")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
134 (foundry "[^-]*")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
135 (family "[^-]*")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
136 (weight "\\(bold\\|demibold\\|medium\\|black\\)") ; 1
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
137 ; (weight\? "\\(\\*\\|bold\\|demibold\\|medium\\|\\)") ; 1
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
138 (weight\? "\\([^-]*\\)") ; 1
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
139 (slant "\\([ior]\\)") ; 2
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
140 ; (slant\? "\\([ior?*]?\\)") ; 2
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
141 (slant\? "\\([^-]?\\)") ; 2
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
142 ; (swidth "\\(\\*\\|normal\\|semicondensed\\|\\)") ; 3
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
143 (swidth "\\([^-]*\\)") ; 3
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
144 ; (adstyle "\\(\\*\\|sans\\|\\)") ; 4
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
145 (adstyle "\\([^-]*\\)") ; 4
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
146 (pixelsize "\\(\\*\\|[0-9]+\\)") ; 5
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
147 (pointsize "\\(\\*\\|0\\|[0-9][0-9]+\\)") ; 6
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
148 ; (resx "\\(\\*\\|[0-9][0-9]+\\)") ; 7
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
149 ; (resy "\\(\\*\\|[0-9][0-9]+\\)") ; 8
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
150 (resx "\\([*0]\\|[0-9][0-9]+\\)") ; 7
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
151 (resy "\\([*0]\\|[0-9][0-9]+\\)") ; 8
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
152 (spacing "[cmp?*]")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
153 (avgwidth "\\(\\*\\|[0-9]+\\)") ; 9
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
154 (registry "[^-]*") ; some fonts have omitted registries
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
155 ; (encoding ".+") ; note that encoding may contain "-"...
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
156 (encoding "[^-]+") ; false!
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
157 )
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
158 (setq gtk-font-regexp
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
159 (purecopy
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
160 (concat "\\`\\*?[-?*]"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
161 foundry - family - weight\? - slant\? - swidth - adstyle -
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
162 pixelsize - pointsize - resx - resy - spacing - avgwidth -
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
163 registry - encoding "\\'"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
164 )))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
165 (setq gtk-font-regexp-head
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
166 (purecopy
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
167 (concat "\\`[-?*]" foundry - family - weight\? - slant\?
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
168 "\\([-*?]\\|\\'\\)")))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
169 (setq gtk-font-regexp-head-2
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
170 (purecopy
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
171 (concat "\\`[-?*]" foundry - family - weight\? - slant\?
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
172 - swidth - adstyle - pixelsize - pointsize
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
173 "\\([-*?]\\|\\'\\)")))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
174 (setq gtk-font-regexp-slant (purecopy (concat - slant -)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
175 (setq gtk-font-regexp-weight (purecopy (concat - weight -)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
176 ;; if we can't match any of the more specific regexps (unfortunate) then
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
177 ;; look for digits; assume 2+ digits is 10ths of points, and 1-2 digits
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
178 ;; is pixels. Bogus as hell.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
179 (setq gtk-font-regexp-pixel (purecopy "[-?*]\\([0-9][0-9]?\\)[-?*]"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
180 (setq gtk-font-regexp-point (purecopy "[-?*]\\([0-9][0-9]+\\)[-?*]"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
181 ;; the following two are used by x-font-menu.el.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
182 (setq gtk-font-regexp-foundry-and-family
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
183 (purecopy (concat "\\`[-?*]" foundry - "\\(" family "\\)" -)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
184 (setq gtk-font-regexp-registry-and-encoding
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
185 (purecopy (concat - "\\(" registry "\\)" - "\\(" encoding "\\)\\'")))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
186 (setq gtk-font-regexp-spacing
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
187 (purecopy (concat - "\\(" spacing "\\)" - avgwidth
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
188 - registry - encoding "\\'")))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
189 )
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
190
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
191 (defvaralias 'x-font-regexp 'gtk-font-regexp)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
192 (defvaralias 'x-font-regexp-head 'gtk-font-regexp-head)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
193 (defvaralias 'x-font-regexp-head-2 'gtk-font-regexp-head-2)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
194 (defvaralias 'x-font-regexp-weight 'gtk-font-regexp-weight)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
195 (defvaralias 'x-font-regexp-slant 'gtk-font-regexp-slant)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
196 (defvaralias 'x-font-regexp-pixel 'gtk-font-regexp-pixel)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
197 (defvaralias 'x-font-regexp-point 'gtk-font-regexp-point)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
198 (defvaralias 'x-font-regexp-foundry-and-family 'gtk-font-regexp-foundry-and-family)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
199 (defvaralias 'x-font-regexp-registry-and-encoding 'gtk-font-regexp-registry-and-encoding)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
200 (defvaralias 'x-font-regexp-spacing 'gtk-font-regexp-spacing)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
201
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
202 (defun gtk-frob-font-weight (font which)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
203 (if (font-instance-p font) (setq font (font-instance-name font)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
204 (cond ((null font) nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
205 ((or (string-match gtk-font-regexp font)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
206 (string-match gtk-font-regexp-head font)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
207 (string-match gtk-font-regexp-weight font))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
208 (concat (substring font 0 (match-beginning 1)) which
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
209 (substring font (match-end 1))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
210 (t nil)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
211
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
212 (defun gtk-frob-font-slant (font which)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
213 (if (font-instance-p font) (setq font (font-instance-name font)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
214 (cond ((null font) nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
215 ((or (string-match gtk-font-regexp font)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
216 (string-match gtk-font-regexp-head font))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
217 (concat (substring font 0 (match-beginning 2)) which
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
218 (substring font (match-end 2))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
219 ((string-match gtk-font-regexp-slant font)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
220 (concat (substring font 0 (match-beginning 1)) which
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
221 (substring font (match-end 1))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
222 (t nil)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
223
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
224 (defun gtk-make-font-bold (font &optional device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
225 (or (try-font-name (gtk-frob-font-weight font "bold") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
226 (try-font-name (gtk-frob-font-weight font "black") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
227 (try-font-name (gtk-frob-font-weight font "demibold") device)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
228
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
229 (defun gtk-make-font-unbold (font &optional device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
230 (try-font-name (gtk-frob-font-weight font "medium") device))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
231
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
232 (defcustom *try-oblique-before-italic-fonts* t
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
233 "*If nil, italic fonts are searched before oblique fonts.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
234 If non-nil, oblique fonts are tried before italic fonts. This is mostly
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
235 applicable to adobe-courier fonts"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
236 :type 'boolean
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
237 :tag "Try Oblique Before Italic Fonts"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
238 :group 'x)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
239
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
240 (defun gtk-make-font-italic (font &optional device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
241 (if *try-oblique-before-italic-fonts*
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
242 (or (try-font-name (gtk-frob-font-slant font "o") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
243 (try-font-name (gtk-frob-font-slant font "i") device))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
244 (or (try-font-name (gtk-frob-font-slant font "i") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
245 (try-font-name (gtk-frob-font-slant font "o") device))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
246
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
247 (defun gtk-make-font-unitalic (font &optional device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
248 (try-font-name (gtk-frob-font-slant font "r") device))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
249
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
250 (defun gtk-make-font-bold-italic (font &optional device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
251 (if *try-oblique-before-italic-fonts*
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
252 (or (try-font-name
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
253 (gtk-frob-font-slant (gtk-frob-font-weight font "bold") "o") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
254 (try-font-name
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
255 (gtk-frob-font-slant (gtk-frob-font-weight font "bold") "i") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
256 (try-font-name
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
257 (gtk-frob-font-slant (gtk-frob-font-weight font "black") "o") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
258 (try-font-name
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
259 (gtk-frob-font-slant (gtk-frob-font-weight font "black") "i") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
260 (try-font-name
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
261 (gtk-frob-font-slant (gtk-frob-font-weight font "demibold") "o") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
262 (try-font-name
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
263 (gtk-frob-font-slant (gtk-frob-font-weight font "demibold") "i") device))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
264 (or (try-font-name
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
265 (gtk-frob-font-slant (gtk-frob-font-weight font "bold") "i") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
266 (try-font-name
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
267 (gtk-frob-font-slant (gtk-frob-font-weight font "bold") "o") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
268 (try-font-name
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
269 (gtk-frob-font-slant (gtk-frob-font-weight font "black") "i") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
270 (try-font-name
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
271 (gtk-frob-font-slant (gtk-frob-font-weight font "black") "o") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
272 (try-font-name
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
273 (gtk-frob-font-slant (gtk-frob-font-weight font "demibold") "i") device)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
274 (try-font-name
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
275 (gtk-frob-font-slant (gtk-frob-font-weight font "demibold") "o") device))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
276
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
277 (defun gtk-choose-font ()
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
278 (interactive)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
279 (require 'x-font-menu)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
280 (require 'font)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
281 (let ((locale (if font-menu-this-frame-only-p
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
282 (selected-frame)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
283 nil))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
284 (dialog nil))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
285 (setq dialog (gtk-font-selection-dialog-new "Choose default font..."))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
286 (put dialog 'modal t)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
287 (put dialog 'type 'dialog)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
288
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
289 (gtk-widget-set-sensitive (gtk-font-selection-dialog-apply-button dialog) nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
290 (gtk-signal-connect dialog 'destroy (lambda (&rest ignored) (gtk-main-quit)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
291 (gtk-signal-connect (gtk-font-selection-dialog-ok-button dialog)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
292 'clicked
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
293 (lambda (button data)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
294 (let* ((dialog (car data))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
295 (font (font-create-object
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
296 (gtk-font-selection-dialog-get-font-name dialog))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
297 (gtk-widget-destroy dialog)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
298 (font-menu-set-font (car (font-family font)) nil (* 10 (font-size font)))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
299 (cons dialog locale))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
300 (gtk-signal-connect (gtk-font-selection-dialog-cancel-button dialog)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
301 'clicked
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
302 (lambda (button dialog)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
303 (gtk-widget-destroy dialog)) dialog)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
304
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
305 (gtk-widget-show-all dialog)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
306 (gtk-main)))