Mercurial > hg > xemacs-beta
annotate src/s/windowsnt.h @ 5797:a1808d52a34a
If the position of a window's cached point is deleted, use buffer point instead
src/ChangeLog addition:
2014-06-17 Aidan Kehoe <kehoea@parhasard.net>
* extents.h:
* window.c:
* window.c (unshow_buffer):
* window.c (Fset_window_buffer):
Use extents, rather than markers, for the window buffer point
cache, so that when the text containing that window buffer point
is deleted, the window display code uses the buffer's actual point
instead of the position that the marker had been moved to.
Fixes Michael Heinrich's problem of
http://mid.gmane.org/6zr42uxtf5.fsf@elektra.science-computing.de ,
introduced by Ben's patch of
https://bitbucket.org/xemacs/xemacs/commits/047d37eb70d70f43803 .
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Tue, 17 Jun 2014 20:55:45 +0100 |
parents | 308d34e9f07d |
children | b58b74274fa2 f5dfcf2323bc c608d4b0b75e |
rev | line source |
---|---|
442 | 1 /* System description file for Windows 9x and NT. |
428 | 2 Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. |
800 | 3 Copyright (C) 2001, 2002 Ben Wing. |
428 | 4 |
613 | 5 This file is part of XEmacs. |
428 | 6 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4769
diff
changeset
|
7 XEmacs is free software: you can redistribute it and/or modify it |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4769
diff
changeset
|
8 under the terms of the GNU General Public License as published by the |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4769
diff
changeset
|
9 Free Software Foundation, either version 3 of the License, or (at your |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4769
diff
changeset
|
10 option) any later version. |
428 | 11 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4769
diff
changeset
|
12 XEmacs is distributed in the hope that it will be useful, but WITHOUT |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4769
diff
changeset
|
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4769
diff
changeset
|
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4769
diff
changeset
|
15 for more details. |
428 | 16 |
17 You should have received a copy of the GNU General Public License | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4769
diff
changeset
|
18 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
428 | 19 |
20 /* Synched up with: FSF 19.31. */ | |
21 | |
2367 | 22 /* See win32.c for info about the different Windows files in XEmacs. */ |
442 | 23 |
771 | 24 #include "win32-native.h" |
428 | 25 |
26 /* In case non-Microsoft compiler is used, we fake _MSC_VER */ | |
27 #ifndef _MSC_VER | |
28 #define _MSC_VER 1 | |
29 #endif | |
30 | |
771 | 31 /* Stuff from old nt/config.h: */ |
32 | |
33 #define NTHEAP_PROBE_BASE 1 | |
34 | |
35 #ifdef HAVE_X_WINDOWS | |
36 | |
37 #define HAVE_XREGISTERIMINSTANTIATECALLBACK | |
38 | |
39 #define THIS_IS_X11R6 | |
40 #define HAVE_XLOCALE_H | |
41 #define HAVE_X11_LOCALE_H | |
42 #define GETTIMEOFDAY_ONE_ARGUMENT | |
428 | 43 |
771 | 44 #define LWLIB_USES_ATHENA |
45 #define LWLIB_MENUBARS_LUCID | |
46 #define LWLIB_SCROLLBARS_LUCID | |
47 #define LWLIB_DIALOGS_ATHENA | |
48 #define LWLIB_TABS_LUCID | |
49 #define LWLIB_WIDGETS_ATHENA | |
428 | 50 |
771 | 51 /* These are what gets defined under Cygwin */ |
52 #define _BSD_SOURCE 1 | |
53 #define _SVID_SOURCE 1 | |
54 #define X_LOCALE 1 | |
55 #define NARROWPROTO 1 | |
56 | |
57 #endif /* HAVE_X_WINDOWS */ | |
58 | |
59 #define HAVE_LOCALE_H | |
60 #define STDC_HEADERS | |
61 | |
62 #define HAVE_LONG_FILE_NAMES | |
428 | 63 |
771 | 64 #define HAVE_TIMEVAL |
65 #define HAVE_TZNAME | |
66 #define HAVE_H_ERRNO | |
428 | 67 |
771 | 68 #define HAVE_CLOSEDIR |
69 #define HAVE_DUP2 | |
70 #define HAVE_EXECVPE | |
71 #define HAVE_FMOD | |
72 #define HAVE_FREXP | |
73 #define HAVE_FTIME | |
74 #define HAVE_GETCWD | |
75 #define HAVE_GETHOSTNAME | |
76 #define HAVE_GETPAGESIZE | |
77 #define getpagesize() 4096 | |
78 #define HAVE_GETTIMEOFDAY | |
79 #define HAVE_LINK | |
80 #define HAVE_LOGB | |
81 #define HAVE_MKDIR | |
82 #define HAVE_MKTIME | |
83 #define HAVE_RENAME | |
84 #define HAVE_RMDIR | |
85 #define HAVE_SELECT | |
86 #define HAVE_STRERROR | |
1257 | 87 #define HAVE_STRLWR |
88 #define HAVE_STRUPR | |
428 | 89 |
771 | 90 #define HAVE_SOCKETS |
428 | 91 |
771 | 92 #ifdef DEBUG_XEMACS |
93 #define USE_ASSERTIONS | |
94 #define MEMORY_USAGE_STATS | |
95 #endif /* DEBUG_XEMACS */ | |
96 | |
97 #define HAVE_DRAGNDROP | |
428 | 98 |
99 #define SIZEOF_SHORT 2 | |
100 #define SIZEOF_INT 4 | |
101 #define SIZEOF_LONG 4 | |
442 | 102 #define SIZEOF_LONG_LONG 0 |
428 | 103 #define SIZEOF_VOID_P 4 |
104 | |
771 | 105 typedef int mode_t; |
106 typedef int pid_t; | |
107 typedef int uid_t; | |
108 typedef int gid_t; | |
109 typedef int pid_t; | |
110 typedef int ssize_t; | |
428 | 111 |
112 /* If your system uses COFF (Common Object File Format) then define the | |
113 preprocessor symbol "COFF". */ | |
114 | |
115 #define COFF | |
116 | |
117 /* define MAIL_USE_FLOCK if the mailer uses flock | |
118 to interlock access to /usr/spool/mail/$USER. | |
119 The alternative is that a lock file named | |
120 /usr/spool/mail/$USER.lock. */ | |
121 | |
122 #define MAIL_USE_POP | |
438 | 123 #define HAVE_LOCKING |
124 #define MAIL_USE_LOCKING | |
428 | 125 |
126 /* See unexnt.c */ | |
827 | 127 #if (_MSC_VER >= 1100) && !defined(PDUMP) |
428 | 128 #define DUMP_SEPARATE_SECTION |
129 #endif | |
130 #ifdef DUMP_SEPARATE_SECTION | |
131 #pragma data_seg("xdata") | |
132 #pragma bss_seg("xdata") | |
133 #endif | |
134 | |
827 | 135 #ifdef emacs |
136 /* intl-auto-encap-win32.[ch] assumes _WIN32_WINNT>=0x0400 | |
137 We don't want this set when building command-line helpers in lib-src */ | |
771 | 138 # ifndef _WIN32_WINNT |
139 # define _WIN32_WINNT 0x0400 | |
140 # endif | |
428 | 141 #endif |
442 | 142 |
143 /* The VC++ (5.0, at least) headers treat WINVER non-existent as 0x0400 */ | |
144 #if defined (WINVER) && WINVER < 0x0400 | |
145 # undef WINVER | |
146 # define WINVER 0x0400 | |
147 #endif | |
148 | |
872 | 149 /* Vararg routines, main(), and callback routines for library functions |
150 (qsort(), signal(), etc.) need to be __cdecl if we use the fastcall | |
151 convention by default (a good idea, since it speeds things up). #### Why | |
152 do they have to complain about this? Why not just do the right thing | |
153 automatically? | |
154 | |
155 Prefix with X because plain CDECL is already defined by the VC++ header | |
156 files. */ | |
157 #define XCDECL __cdecl | |
158 | |
1257 | 159 /* MSVC warnings no-no crap. When adding one to this section, |
160 1. Think twice. | |
771 | 161 2. Insert textual description of the warning. |
1257 | 162 3. Think again. Undo still works. */ |
771 | 163 #if (_MSC_VER >= 800) |
164 | |
165 /* unnamed type definition in parentheses | |
166 (Martin added a pedantically correct definition of ALIGNOF, which | |
167 generates temporary anonymous structures, and MSVC complains) */ | |
168 #pragma warning ( disable : 4116 ) | |
169 | |
170 #endif /* compiler understands #pragma warning*/ | |
171 | |
2500 | 172 #if (_MSC_VER >= 1300) |
173 /* function declared with __declspec(noreturn) has non-void return type; | |
174 Lisp primitives have to be declared with Lisp_Object return type or | |
175 lots of things get very messed up */ | |
176 #pragma warning ( disable : 4646 ) | |
177 #endif | |
178 | |
771 | 179 /* MSVC version >= 2.x without /Za supports __inline */ |
180 #if (_MSC_VER < 900) || defined (__STDC__) | |
181 # define inline | |
182 #else | |
183 # define inline __inline | |
184 #endif |