annotate nextstep/DEV-NOTES @ 110410:f2e111723c3a

Merge changes made in Gnus trunk. Reimplement nnimap, and do tweaks to the rest of the code to support that. * gnus-int.el (gnus-finish-retrieve-group-infos) (gnus-retrieve-group-data-early): New functions. * gnus-range.el (gnus-range-nconcat): New function. * gnus-start.el (gnus-get-unread-articles): Support early retrieval of data. (gnus-read-active-for-groups): Support finishing the early retrieval of data. * gnus-sum.el (gnus-summary-move-article): Pass the move-to group name if the move is internal, so that nnimap can do fast internal moves. * gnus.el (gnus-article-special-mark-lists): Add uid/active tuples, for nnimap usage. * nnimap.el: Rewritten. * nnmail.el (nnmail-inhibit-default-split-group): New internal variable to allow the mail splitting to not return a default group. This is useful for nnimap, which will leave unmatched mail in the inbox. * utf7.el (utf7-encode): Autoload. Implement shell connection. * nnimap.el (nnimap-open-shell-stream): New function. (nnimap-open-connection): Use it. Get the number of lines by using BODYSTRUCTURE. (nnimap-transform-headers): Get the number of lines in each message. (nnimap-retrieve-headers): Query for BODYSTRUCTURE so that we get the number of lines. Not all servers return UIDNEXT. Work past this problem. Remove junk from end of file. Fix typo in "bogus" section. Make capabilties be case-insensitive. Require cl when compiling. Don't bug out if the LIST command doesn't have any parameters. 2010-09-17 Knut Anders Hatlen <kahatlen@gmail.com> (tiny change) * nnimap.el (nnimap-get-groups): Don't bug out if the LIST command doesn't have any parameters. (mm-text-html-renderer): Document gnus-article-html. 2010-09-17 Julien Danjou <julien@danjou.info> (tiny fix) * mm-decode.el (mm-text-html-renderer): Document gnus-article-html. * dgnushack.el: Define netrc-credentials. If the user doesn't have a /etc/services, supply some sensible port defaults. Have `unseen-or-unread' select an unread unseen article first. (nntp-open-server): Return whether the open was successful or not. Throughout all files, replace (save-excursion (set-buffer ...)) with (with-current-buffer ... ). Save result so that it doesn't say "failed" all the time. Add ~/.authinfo to the default, since that's probably most useful for users. Don't use the "finish" method when we're reading from the agent. Add some more nnimap-relevant agent stuff to nnagent.el. * nnimap.el (nnimap-with-process-buffer): Removed. Revert one line that was changed by mistake in the last checkin. (nnimap-open-connection): Don't error out when we can't make a connection nnimap-related changes to avoid bugging out if we can't contact a server. * gnus-start.el (gnus-get-unread-articles): Don't try to scan groups from methods that are denied. * nnimap.el (nnimap-possibly-change-group): Return nil if we can't log in. (nnimap-finish-retrieve-group-infos): Make sure we're not waiting for nothing. * gnus-sum.el (gnus-select-newsgroup): Indent.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sat, 18 Sep 2010 10:02:19 +0000
parents d268237e3481
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
97045
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
1 This file summarizes primary aspects of the NS port architecture. If
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
2 possible, it should be updated for changes.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
3
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
4 Currently it summarizes the state as of:
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
5
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
6 summer 2008 shortly after merging to trunk
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
7
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
8
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
9
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
10 Startup
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
11 -------
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
12
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
13 Init sequence:
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
14 emacs.c: ns_alloc_autorelease_pool() nsterm.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
15 emacs.c: ns_init_paths() nsterm.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
16 - override EMACSLOADPATH, etc. so resources can be found in-bundle
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
17 emacs.c: init_display() dispnew.c
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
18 - sets Vwindow_system (window-system) to 'ns
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
19 emacs.c: loadup.el -> startup.el -> ns-initialize-window-system
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
20 -> x-open-connection (nsfns.m)
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
21 - ns-list-services
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
22 -> nsterm.m: ns_term_init()
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
23 - EmacsApp sharedApplication
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
24 - read NS defaults (org.gnu.Emacs.plist)
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
25 - init X-style color list
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
26 - ns_create_terminal()
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
27 - NSApp run (goes to applicationDidFinishLaunching which terminates
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
28 event loop -- see below)
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
29
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
30
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
31
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
32 Event Loop
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
33 ----------
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
34
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
35 In an NS application, the event loop is normally managed by system and all
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
36 user code is event-driven. [NSApp run] is called by user and never returns.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
37
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
38 In Emacs, the event loop is managed by emacs itself.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
39
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
40 The NS port mediates between these two styles by intercepting the NS event
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
41 dispatch at [NSApp sendEvent]. If a special event is detected, the event loop
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
42 is broken, and control returned to Emacs. This special event is sent by
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
43 ns_send_appdefined, which is called under these circumstances:
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
44
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
45 - if a user input event is received
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
46 - when a timeout fires
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
47
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
48 NS event processing is instigated from Emacs through ns_select() and
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
49 ns_read_socket() in nsterm.m. Parts of the codepaths leading to these
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
50 functions are:
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
51
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
52
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
53 keyboard.c:read_avail_input()
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
54 -> ns_read_socket (ns_send_appdefined) -> [NSApp run]
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
55
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
56 process.c:wait_reading_process_output()
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
57 -> ns_select -> gobble_input (global inNsSelect=1)
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
58 -> ns_read_socket (ns_send_appdefined if !expected) -> [NSApp run]
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
59
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
60 sysdep.c:sys_select() -> read_input_waiting()
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
61 -> ns_read_socket (send_appdefined) -> [NSApp run]
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
62 [this codepath may not be used]
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
63
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
64
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
65 Currently ctrl-g is not detected in as many circumstances as other emacsen.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
66 It is not certain whether this is due to the means of event loop integration,
108871
d268237e3481 Remove NO_SOCK_SIGIO references.
Glenn Morris <rgm@gnu.org>
parents: 101913
diff changeset
67 or errors of omission in the NS code. This is an area for improvement.
d268237e3481 Remove NO_SOCK_SIGIO references.
Glenn Morris <rgm@gnu.org>
parents: 101913
diff changeset
68 Also, see the article here and its containing thread:
97045
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
69
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
70 http://article.gmane.org/gmane.emacs.devel/92021/match=handling%5fsignal
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
71
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
72
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
73
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
74
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
75 Text Rendering and Font Handling
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
76 --------------------------------
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
77
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
78 nsfont.m implements the font driver, responsible for managing fonts and
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
79 rendering text. Fonts are obtained through NSFontManager. Rendering must be
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
80 done at a low level due to emacs' fine control over this process, therefore
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
81 there are different approachs under Cocoa and GNUstep. Under GNUstep, the
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
82 original NeXT Display PostScript (DPS) APIs are available and used. Under
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
83 Cocoa, these were removed and Quartz drawing functions replaced them.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
84
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
85 In both cases, font glyphs are accessed through UTF8 character
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
86 representations. It would be preferable to use unicode indices, but prior
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
87 attempts at this have failed.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
88
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
89 Multi-script fontsets are auto-created in nsfont_make_fontset_for_font() using
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
90 the facilities of NSTextStorage and NSLayoutManager.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
91
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
92
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
93 Object Architecture
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
94 -------------------
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
95
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
96 Unlike the other GUIs, the NS interface is based on a high-level and
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
97 object-oriented API. This creates some tension in the code because emacs
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
98 itself has been architected around the low-level Xlib and Xt APIs. The NS
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
99 port tries to strike a balance between simplifying code on its side using OO
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
100 features, and keeping code as similar as possible to other ports to ease
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
101 maintenance. The following are the main classes (see nsterm.h):
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
102
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
103 EmacsApp : NSApplication
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
104 - event loop integration, interapp comms point for Finder (NSWorkspace) msgs,
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
105 Services
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
106 - one global instance (NSApp)
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
107 - nsterm.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
108
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
109 EmacsView : NSView <TextInput>
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
110 - handles rendering of text and fringe, interapp comms for drag/drop
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
111 - instance for each frame
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
112 - child of window's content view
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
113 - nsterm.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
114
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
115 EmacsWindow : NSWindow
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
116 - utility override for resize handling
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
117
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
118 EmacsScroller : NSScroller
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
119 - instance for each emacs window, renders scrollbar
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
120 - child of window's content view
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
121 - nsterm.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
122
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
123 EmacsImage : NSImage
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
124 - image rendering, toolbar icons, stippling, fringe bitmaps
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
125 - instance for each image
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
126 - nsimage.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
127
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
128 EmacsMenu : NSMenu
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
129 - menu management
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
130 - one tree of instances for menubar, one instance for each popup menu
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
131 - nsmenu.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
132
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
133 EmacsToolbar : NSToolbar
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
134 - toolbar management, one instance for each frame
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
135 - nsmenu.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
136
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
137
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
138 EmacsDialogPanel : NSPanel
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
139 - popup dialogs, one instance for each
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
140 - nsmenu.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
141
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
142 EmacsTooltip : NSObject
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
143 - tooltip popups, one instance for each
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
144 - nsmenu.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
145
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
146 EmacsGlyphStorage : NSObject <NSGlyphStorage>
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
147 - utility for text rendering
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
148 - nsfont.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
149
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
150 EmacsPrefsController : NSObject
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
151 - utility for preferences panel management, one global instance
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
152 - nsterm.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
153 - nextstep/Cocoa/Emacs.base/Contents/Resources/preferences.nib
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
154 - nextstep/GNUstep/Emacs.base/Resources/preferences.gorm
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
155
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
156 EmacsSavePanel : NSSavePanel
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
157 EmacsOpenPanel : NSOpenPanel
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
158 - utility override for panel notifications
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
159