Mercurial > emacs
view src/nsgui.h @ 111789:f97704487fb3
Merge changes made in Gnus trunk.
nnir.el: Batch header retrieval.
proto-stream.el: New library to provide protocol-specific TLS/STARTTLS connections for IMAP, NNTP, SMTP, POP3 and similar protocols.
nnimap.el (nnimap-open-connection): Use it.
proto-stream.el (open-proto-stream): Complete the documentation.
nnimap.el (nnimap-open-connection): Check for "OK" from the greeting.
nntp.el: Use proto-streams for the relevant connections types.
nntp.el (nntp-open-connection): Switch on STARTTLS on supported servers.
proto-stream.el (open-proto-stream): Add a way to specify what the end of a command is.
proto-stream.el (proto-stream-open-tls): Delete output from openssl if we're using tls.el.
proto-stream.el (proto-stream-open-network): If we don't have gnutls-cli or gnutls built in, then don't try to establish a STARTTLS connection.
color.el (color-lab->srgb): Fix function call name.
proto-stream.el: Fix the syntax in the comment.
nntp.el (nntp-open-connection): Fix the STARTTLS command syntax.
proto-stream.el (proto-stream-open-starttls): Actually implement the starttls.el STARTTLS.
proto-stream.el (proto-stream-always-use-starttls): New variable.
proto-stream.el (proto-stream-open-starttls): De-duplicate the starttls code.
proto-stream.el (proto-stream-open-starttls): Folded back into the main function.
proto-stream.el (proto-stream-command): Refactor out.
nnimap.el (nnimap-stream): Change default to `undecided'.
nnimap.el (nnimap-open-connection): If `nnimap-stream' is `undecided', try ssl first, and then network.
nnimap.el (nnimap-open-connection-1): Respect nnimap-server-port.
nnimap.el (nnimap-open-connection): Be more backwards-compatible.
proto-stream.el (open-protocol-stream): Renamed from open-proto-stream.
proto-stream.el (proto-stream-open-network): When doing opportunistic TLS upgrades we don't really care about the identity of the peer.
gnus.texi (Customizing the IMAP Connection): Note the new defaults.
gnus.texi (Direct Functions): Note the STARTTLS upgrade.
proto-stream.el (proto-stream-open-network): Force starttls.el to use gnutls-cli, since that what we've checked for.
proto-stream.el (proto-stream-always-use-starttls): Only default to t if open-gnutls-stream exists.
proto-stream.el (proto-stream-open-network): If STARTTLS failed, then just open a normal connection.
proto-stream.el (proto-stream-open-network): Wait until the greeting before doing STARTTLS.
nnimap.el (nnimap-open-connection-1): Always upgrade to STARTTLS (for backwards compatibility).
nnimap.el (nnimap-open-connection-1): Really respect nnimap-server-port.
nntp.el (nntp-open-connection): Provide a :success condition.
nnimap.el (nnimap-open-connection-1): Ditto.
proto-stream.el (proto-stream-open-network): See what the response to the STARTTLS command is.
proto-stream.el (proto-stream-open-network): Add some comments.
proto-stream.el: Fix example.
proto-stream.el (open-protocol-stream): Actually mention the STARTTLS upgrade.
nnir.el (nnir-get-active): Skip nnir-ignored-newsgroups when searching.
nnir.el (nnir-ignore-newsgroups): Fix default value.
nnir.el (nnir-run-gmane): Use mm-delete-duplicates instead of delete-dups that is not available in XEmacs 21.4.
mm-util.el (mm-delete-duplicates): Add comment.
gnus-sum.el (gnus-summary-delete-article): If delete fails don't change the registry.
nnimap.el (nnimap-open-connection-1): w32 open-network-stream doesn't seem to accept strings-with-numbers as port numbers.
color.el: fix docstring to use English rather than math notation for intervals.
shr.el (shr-find-fill-point): Don't break before apostrophes.
nnir.el (nnir-request-move-article): Bail out if no move support in group.
color.el (color-rgb->hsv): Fix docstring.
nnir.el (nnir-get-active): Improve active list retrieval.
shr.el (shr-find-fill-point): Work better for kinsoku chars and apostrophes.
gnus-gravatar.el (gnus-gravatar-size): Set gnus-gravatar-size to nil.
nnimap.el (nnimap-open-connection-1): Use gnus-string-match-p.
nnimap.el (nnimap-open-connection-1): Fix PREAUTH.
proto-stream.el (open-protocol-stream): All starttls connections are handled by the network handler.
gnus-gravatar.el (gnus-gravatar-insert): Delete unnecessary binding to t of inhibit-read-only since it is inside gnus-with-article-headers.
gnus-gravatar.el (gnus-gravatar-transform-address): Use mail-extract-address-components that supports non-ASCII names rather than mail-header-parse-addresses.
shr.el (shr-find-fill-point): Don't break line between kinsoku-bol characters.
gnus-gravatar.el (gnus-gravatar-insert): Allow LWSP in the middle of names.
nnmaildir.el (nnmaildir-request-set-mark): Add article to add-mark funcall.
gnus-msg.el: Remove nastygram thing.
message.el (message-from-style): Fix comment.
message.el (message-user-organization): Do not use gnus-local-organization.
gnus.el: Remove gnus-local-organization.
rtree.el: New file to handle range trees.
nnir.el, gnus-sum.el: Redo the way nnir handles registry updates.
rtree.el (rtree-extract): Simplify.
gnus-win.el (gnus-configure-windows): Remove Gnus 3.x setting support.
gnus-msg.el: Mark gnus-outgoing-message-group as obsolete.
gnus.texi (Archived Messages): Remove gnus-outgoing-message-group.
gnus-win.el (gnus-configure-frame): Remove old compatibility code.
rtree.el (rtree-memq): Rewrite it as a non-recursive function.
rtree.el (rtree-add, rtree-delq, rtree-length): Implement.
rtree.el (rtree-add): Make code slightly faster.
nnir.el: Allow modified summary-line-format in nnir summary buffers.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Thu, 02 Dec 2010 22:21:31 +0000 |
parents | 1d1d5d9bd884 |
children | 376148b31b5e |
line wrap: on
line source
/* Definitions and headers for communication on the NeXT/Open/GNUstep API. Copyright (C) 1995, 2005, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ #ifndef __NSGUI_H__ #define __NSGUI_H__ /* this gets included from a couple of the plain (non-NS) .c files */ #ifdef __OBJC__ #ifdef NS_IMPL_COCOA #ifdef Z #warning "Z is defined. If you get a later parse error in a header, check that buffer.h or other files #define-ing Z are not included." #endif /* Z */ #define Cursor FooFoo #undef init_process #endif /* NS_IMPL_COCOA */ #import <AppKit/AppKit.h> #ifdef NS_IMPL_COCOA #undef Cursor #define init_process emacs_init_process #endif /* NS_IMPL_COCOA */ #import <Foundation/NSDistantObject.h> #ifdef NS_IMPL_COCOA #include <AvailabilityMacros.h> #endif /* NS_IMPL_COCOA */ #endif /* __OBJC__ */ /* menu-related */ #define free_widget_value(wv) xfree (wv) #define malloc_widget_value() ((widget_value *) memset (xmalloc \ (sizeof (widget_value)), 0, sizeof (widget_value))) /* Emulate XCharStruct. */ typedef struct _XCharStruct { int rbearing; int lbearing; int width; int ascent; int descent; } XCharStruct; /* Fake tructure from Xlib.h to represent two-byte characters. */ #ifndef __OBJC__ typedef unsigned short unichar; #endif typedef unichar XChar2b; #define STORE_XCHAR2B(chp, b1, b2) \ (*(chp) = ((XChar2b)((((b1) & 0x00ff) << 8) | ((b2) & 0x00ff)))) #define XCHAR2B_BYTE1(chp) \ (((*chp) & 0xff00) >> 8) #define XCHAR2B_BYTE2(chp) \ ((*chp) & 0x00ff) /* XXX: xfaces requires these structures, but the question is are we forced to use them? */ typedef struct _XGCValues { unsigned long foreground; unsigned long background; #ifdef __OBJC__ struct ns_font *font; #else void *font; #endif } XGCValues; typedef XGCValues * GC; #define GCForeground 0x01 #define GCBackground 0x02 #define GCFont 0x03 #ifdef __OBJC__ typedef id Pixmap; #else typedef void *Pixmap; #endif #ifdef __OBJC__ typedef NSCursor * Cursor; #else typedef void *Cursor; #endif #define No_Cursor (0) #ifdef __OBJC__ typedef NSColor * Color; #else typedef void * Color; #endif typedef int Window; typedef int Display; /* Xism */ typedef Lisp_Object XrmDatabase; /* some sort of attempt to normalize rectangle handling.. seems a bit much for what is accomplished */ typedef struct { int x, y; unsigned width, height; } XRectangle; #ifndef __OBJC__ #if defined(__LP64__) && __LP64__ typedef double CGFloat; #else typedef float CGFloat; #endif typedef struct _NSPoint { CGFloat x, y; } NSPoint; typedef struct _NSSize { CGFloat width, height; } NSSize; typedef struct _NSRect { NSPoint origin; NSSize size; } NSRect; #endif /* NOT OBJC */ #define NativeRectangle NSRect #define CONVERT_TO_XRECT(xr, nr) \ ((xr).x = (nr).origin.x, \ (xr).y = (nr).origin.y, \ (xr).width = (nr).size.width, \ (xr).height = (nr).size.height) #define CONVERT_FROM_XRECT(xr, nr) \ ((nr).origin.x = (xr).x, \ (nr).origin.y = (xr).y, \ (nr).size.width = (xr).width, \ (nr).size.height = (xr).height) #define STORE_NATIVE_RECT(nr, px, py, pwidth, pheight) \ ((nr).origin.x = (px), \ (nr).origin.y = (py), \ (nr).size.width = (pwidth), \ (nr).size.height = (pheight)) /* This stuff needed by frame.c. */ #define ForgetGravity 0 #define NorthWestGravity 1 #define NorthGravity 2 #define NorthEastGravity 3 #define WestGravity 4 #define CenterGravity 5 #define EastGravity 6 #define SouthWestGravity 7 #define SouthGravity 8 #define SouthEastGravity 9 #define StaticGravity 10 #define NoValue 0x0000 #define XValue 0x0001 #define YValue 0x0002 #define WidthValue 0x0004 #define HeightValue 0x0008 #define AllValues 0x000F #define XNegative 0x0010 #define YNegative 0x0020 #define USPosition (1L << 0) /* user specified x, y */ #define USSize (1L << 1) /* user specified width, height */ #define PPosition (1L << 2) /* program specified position */ #define PSize (1L << 3) /* program specified size */ #define PMinSize (1L << 4) /* program specified minimum size */ #define PMaxSize (1L << 5) /* program specified maximum size */ #define PResizeInc (1L << 6) /* program specified resize increments */ #define PAspect (1L << 7) /* program specified min, max aspect ratios */ #define PBaseSize (1L << 8) /* program specified base for incrementing */ #define PWinGravity (1L << 9) /* program specified window gravity */ #endif /* __NSGUI_H__ */ /* arch-tag: b2af3275-62c3-45b4-9335-4c9635c67e55 (do not change this comment) */