Mercurial > emacs
view oldXMenu/X10.h @ 112119:48f5ac42611a
Reconcile with changes in line movement behavior for long text lines
that cross more than a single physical window line, ie when truncate-lines
is nil.
(allout-next-visible-heading): Provide for change in line-move behavior on
long lines when truncate-lines is nil. In that case, line-move can wind up
on the same textual line when it moves to the next window line, and moving
to the bullet position after the move yields zero advancement. Add logic
to detect and compensate for the lack of progress.
(allout-current-topic-collapsed-p): move-end-of-line respect for field
boundaries is different when operating with body lines shorter than window
width versus ones greater than window width, which can yield false
negatives in this function. Avoid difference by applying move-end-of-line
while field-text-motion is inhibited.
author | Ken Manheimer <ken.manheimer@gmail.com> |
---|---|
date | Tue, 04 Jan 2011 14:44:10 -0500 |
parents | 5cc91198ffb2 |
children | ef719132ddfa |
line wrap: on
line source
/* * Copyright 1985, 1986, 1987 by the Massachusetts Institute of Technology * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of M.I.T. not be used in advertising * or publicity pertaining to distribution of the software without specific, * written prior permission. M.I.T. makes no representations about the * suitability of this software for any purpose. It is provided "as is" * without express or implied warranty. * * The X Window System is a Trademark of MIT. * */ /* * X10.h - Header definition and support file for the C subroutine * interface library for V10 support routines. */ #ifndef _X10_H_ #define _X10_H_ /* Used in XDraw and XDrawFilled */ typedef struct { short x, y; unsigned short flags; } Vertex; /* The meanings of the flag bits. If the bit is 1 the predicate is true */ #define VertexRelative 0x0001 /* else absolute */ #define VertexDontDraw 0x0002 /* else draw */ #define VertexCurved 0x0004 /* else straight */ #define VertexStartClosed 0x0008 /* else not */ #define VertexEndClosed 0x0010 /* else not */ /*#define VertexDrawLastPoint 0x0020 */ /* else don't */ /* The VertexDrawLastPoint option has not been implemented in XDraw and XDrawFilled so it shouldn't be defined. */ /* * XAssoc - Associations used in the XAssocTable data structure. The * associations are used as circular queue entries in the association table * which is contains an array of circular queues (buckets). */ typedef struct _XAssoc { struct _XAssoc *next; /* Next object in this bucket. */ struct _XAssoc *prev; /* Previous obejct in this bucket. */ Display *display; /* Display which owns the id. */ XID x_id; /* X Window System id. */ char *data; /* Pointer to untyped memory. */ } XAssoc; /* * XAssocTable - X Window System id to data structure pointer association * table. An XAssocTable is a hash table whose buckets are circular * queues of XAssoc's. The XAssocTable is constructed from an array of * XAssoc's which are the circular queue headers (bucket headers). * An XAssocTable consists an XAssoc pointer that points to the first * bucket in the bucket array and an integer that indicates the number * of buckets in the array. */ typedef struct { XAssoc *buckets; /* Pointer to first bucket in bucket array.*/ int size; /* Table size (number of buckets). */ } XAssocTable; XAssocTable *XCreateAssocTable(int size); char *XLookUpAssoc(Display *dpy, XAssocTable *table, XID x_id); #endif /* _X10_H_ */ /* arch-tag: b0b749fb-757b-470b-b405-af7d033a5aad (do not change this comment) */