aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2011-02-21 15:46:32 -0800
committerPaul Eggert2011-02-21 15:46:32 -0800
commit9441f0e4fca691e4d2a2c7842373de8f29414b17 (patch)
tree6db82cf30a48bd72485db5c4cc2f19d4a142f727
parentba01e9d785457898d873d6c8ec8bc1965fe4ff28 (diff)
parente84efb7078b7251b8c8bf15f71fed653cfa535a5 (diff)
downloademacs-9441f0e4fca691e4d2a2c7842373de8f29414b17.tar.gz
emacs-9441f0e4fca691e4d2a2c7842373de8f29414b17.zip
Merge from mainline.
-rw-r--r--ChangeLog11
-rw-r--r--lib-src/ChangeLog6
-rw-r--r--lib-src/makefile.w32-in5
-rw-r--r--lib/makefile.w32-in19
-rw-r--r--lisp/ChangeLog15
-rw-r--r--lisp/net/tramp.el8
-rw-r--r--lisp/progmodes/cc-engine.el42
-rw-r--r--nt/ChangeLog13
-rw-r--r--nt/inc/stdint.h34
-rw-r--r--nt/inc/sys/stat.h28
-rw-r--r--src/ChangeLog8
-rw-r--r--src/makefile.w32-in8
12 files changed, 180 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index ef876b6e831..cfd77b652b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,17 @@
2 2
3 * lib/min-max.h: New file, for "min" and "max". 3 * lib/min-max.h: New file, for "min" and "max".
4 4
52011-02-21 Christoph Scholtes <cschol2112@gmail.com>
6
7 * lib/makefile.w32-in: ($(BLD)/md5.$(O)): Added dependency on
8 $(EMACS_ROOT)/nt/inc/stdint.h.
9
102011-02-21 Eli Zaretskii <eliz@gnu.org>
11
12 * lib/makefile.w32-in ($(BLD)/filemode.$(O)): Move from
13 src/makefile.w32-in and adapt. Depend on stamp_BLD.
14 (GNULIBOBJS): Add $(BLD)/filemode.$(O).
15
52011-02-20 Paul Eggert <eggert@cs.ucla.edu> 162011-02-20 Paul Eggert <eggert@cs.ucla.edu>
6 17
7 Import filemode module from gnulib. 18 Import filemode module from gnulib.
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 81c6e6fe9b4..958539cc044 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -25,6 +25,12 @@
25 Declare non-'main' functions and variables to be static. 25 Declare non-'main' functions and variables to be static.
26 * ebrowse.c: Omit redundant function prototypes. 26 * ebrowse.c: Omit redundant function prototypes.
27 27
282011-02-21 Eli Zaretskii <eliz@gnu.org>
29
30 * makefile.w32-in ($(BLD)/ctags.$(O), $(BLD)/emacsclient.$(O))
31 ($(BLD)/etags.$(O), $(BLD)/movemail.$(O), $(BLD)/ntlib.$(O)):
32 Depend on $(EMACS_ROOT)/nt/inc/sys/stat.h.
33
282011-02-21 Ben Key <bkey76@gmail.com> (tiny change) 342011-02-21 Ben Key <bkey76@gmail.com> (tiny change)
29 35
30 * make-docfile.c (scan_c_file): Adapt DEFVAR_PER_BUFFER case to 36 * make-docfile.c (scan_c_file): Adapt DEFVAR_PER_BUFFER case to
diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in
index 77931c1a36b..bc7b1b27baf 100644
--- a/lib-src/makefile.w32-in
+++ b/lib-src/makefile.w32-in
@@ -374,6 +374,7 @@ $(BLD)/alloca.$(O) : \
374$(BLD)/ctags.$(O) : \ 374$(BLD)/ctags.$(O) : \
375 $(SRC)/ctags.c \ 375 $(SRC)/ctags.c \
376 $(EMACS_ROOT)/nt/inc/sys/param.h \ 376 $(EMACS_ROOT)/nt/inc/sys/param.h \
377 $(EMACS_ROOT)/nt/inc/sys/stat.h \
377 $(EMACS_ROOT)/src/s/ms-w32.h \ 378 $(EMACS_ROOT)/src/s/ms-w32.h \
378 $(EMACS_ROOT)/src/m/intel386.h \ 379 $(EMACS_ROOT)/src/m/intel386.h \
379 $(EMACS_ROOT)/lib-src/../src/config.h \ 380 $(EMACS_ROOT)/lib-src/../src/config.h \
@@ -382,6 +383,7 @@ $(BLD)/ctags.$(O) : \
382 383
383$(BLD)/emacsclient.$(O) : \ 384$(BLD)/emacsclient.$(O) : \
384 $(SRC)/emacsclient.c \ 385 $(SRC)/emacsclient.c \
386 $(EMACS_ROOT)/nt/inc/sys/stat.h \
385 $(EMACS_ROOT)/src/s/ms-w32.h \ 387 $(EMACS_ROOT)/src/s/ms-w32.h \
386 $(EMACS_ROOT)/src/m/intel386.h \ 388 $(EMACS_ROOT)/src/m/intel386.h \
387 $(EMACS_ROOT)/lib-src/../src/config.h 389 $(EMACS_ROOT)/lib-src/../src/config.h
@@ -389,6 +391,7 @@ $(BLD)/emacsclient.$(O) : \
389$(BLD)/etags.$(O) : \ 391$(BLD)/etags.$(O) : \
390 $(SRC)/etags.c \ 392 $(SRC)/etags.c \
391 $(EMACS_ROOT)/nt/inc/sys/param.h \ 393 $(EMACS_ROOT)/nt/inc/sys/param.h \
394 $(EMACS_ROOT)/nt/inc/sys/stat.h \
392 $(EMACS_ROOT)/src/s/ms-w32.h \ 395 $(EMACS_ROOT)/src/s/ms-w32.h \
393 $(EMACS_ROOT)/src/m/intel386.h \ 396 $(EMACS_ROOT)/src/m/intel386.h \
394 $(EMACS_ROOT)/lib-src/../src/config.h \ 397 $(EMACS_ROOT)/lib-src/../src/config.h \
@@ -429,6 +432,7 @@ $(BLD)/movemail.$(O) : \
429 $(EMACS_ROOT)/src/m/intel386.h \ 432 $(EMACS_ROOT)/src/m/intel386.h \
430 $(EMACS_ROOT)/lib-src/../src/config.h \ 433 $(EMACS_ROOT)/lib-src/../src/config.h \
431 $(EMACS_ROOT)/nt/inc/sys/file.h \ 434 $(EMACS_ROOT)/nt/inc/sys/file.h \
435 $(EMACS_ROOT)/nt/inc/sys/stat.h \
432 $(EMACS_ROOT)/lib-src/../src/syswait.h \ 436 $(EMACS_ROOT)/lib-src/../src/syswait.h \
433 $(EMACS_ROOT)/nt/inc/pwd.h \ 437 $(EMACS_ROOT)/nt/inc/pwd.h \
434 $(SRC)/ntlib.h 438 $(SRC)/ntlib.h
@@ -437,6 +441,7 @@ $(BLD)/movemail.$(O) : \
437$(BLD)/ntlib.$(O) : \ 441$(BLD)/ntlib.$(O) : \
438 $(SRC)/ntlib.c \ 442 $(SRC)/ntlib.c \
439 $(SRC)/ntlib.h \ 443 $(SRC)/ntlib.h \
444 $(EMACS_ROOT)/nt/inc/sys/stat.h \
440 $(EMACS_ROOT)/nt/inc/pwd.h 445 $(EMACS_ROOT)/nt/inc/pwd.h
441 446
442$(BLD)/pop.$(O) : \ 447$(BLD)/pop.$(O) : \
diff --git a/lib/makefile.w32-in b/lib/makefile.w32-in
index 02953c9863a..289f6bffdb9 100644
--- a/lib/makefile.w32-in
+++ b/lib/makefile.w32-in
@@ -28,7 +28,8 @@ GNULIBOBJS = $(BLD)/dtoastr.$(O) \
28 $(BLD)/getopt1.$(O) \ 28 $(BLD)/getopt1.$(O) \
29 $(BLD)/strftime.$(O) \ 29 $(BLD)/strftime.$(O) \
30 $(BLD)/time_r.$(O) \ 30 $(BLD)/time_r.$(O) \
31 $(BLD)/md5.$(O) 31 $(BLD)/md5.$(O) \
32 $(BLD)/filemode.$(O)
32 33
33# 34#
34# Build the library 35# Build the library
@@ -95,17 +96,27 @@ $(BLD)/time_r.$(O) : \
95 $(EMACS_ROOT)/src/config.h 96 $(EMACS_ROOT)/src/config.h
96 97
97$(BLD)/md5.$(O) : \ 98$(BLD)/md5.$(O) : \
98 $(EMACS_ROOT)/lib/md5.c \ 99 $(SRC)/md5.c \
100 $(SRC)/md5.h \
101 $(EMACS_ROOT)/nt/inc/stdint.h \
99 $(EMACS_ROOT)/src/s/ms-w32.h \ 102 $(EMACS_ROOT)/src/s/ms-w32.h \
100 $(EMACS_ROOT)/src/m/intel386.h \ 103 $(EMACS_ROOT)/src/m/intel386.h \
101 $(EMACS_ROOT)/src/config.h \ 104 $(EMACS_ROOT)/src/config.h
102 $(EMACS_ROOT)/lib/md5.h 105
106$(BLD)/filemode.$(O) : \
107 $(SRC)/filemode.c \
108 $(SRC)/filemode.h \
109 $(EMACS_ROOT)/nt/inc/sys/stat.h \
110 $(EMACS_ROOT)/src/s/ms-w32.h \
111 $(EMACS_ROOT)/src/m/intel386.h \
112 $(EMACS_ROOT)/src/config.h
103 113
104# The following dependencies are for supporting parallel builds, where 114# The following dependencies are for supporting parallel builds, where
105# we must make sure $(BLD) exists before any compilation starts. 115# we must make sure $(BLD) exists before any compilation starts.
106# 116#
107$(BLD)/dtoastr.$(O) $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O): stamp_BLD 117$(BLD)/dtoastr.$(O) $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O): stamp_BLD
108$(BLD)/strftime.$(O) $(BLD)/time_r.$(O) $(BLD)/md5.$(O): stamp_BLD 118$(BLD)/strftime.$(O) $(BLD)/time_r.$(O) $(BLD)/md5.$(O): stamp_BLD
119$(BLD)/filemode.$(O): stamp_BLD
109 120
110# 121#
111# Headers we would preprocess if we could. 122# Headers we would preprocess if we could.
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 20514a0b886..e4b30dfa310 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,16 @@
12011-02-21 Alan Mackenzie <acm@muc.de>
2
3 Fix bug #7930.
4 * progmodes/cc-engine.el (c-state-literal-at): Prevent positions
5 in macros finding their way into c-state-nonlit-pos-cache.
6 Strengthen the comments.
7 (c-state-dump): New commented out diagnostic routine.
8
92011-02-21 Michael Albinus <michael.albinus@gmx.de>
10
11 * net/tramp.el (tramp-rfn-eshadow-setup-minibuffer): Do not use
12 `field' property of `rfn-eshadow-overlay'.
13
12011-02-21 Lars Ingebrigtsen <larsi@gnus.org> 142011-02-21 Lars Ingebrigtsen <larsi@gnus.org>
2 15
3 * net/netrc.el (netrc-parse): Comment fix. 16 * net/netrc.el (netrc-parse): Comment fix.
@@ -264,7 +277,7 @@
264 277
2652011-02-16 Alex Harsanyi <AlexHarsanyi@gmail.com> 2782011-02-16 Alex Harsanyi <AlexHarsanyi@gmail.com>
266 279
267 * soap-client.el (soap-well-known-xmlns, soap-local-xmlns) 280 * net/soap-client.el (soap-well-known-xmlns, soap-local-xmlns)
268 (soap-default-xmlns, soap-target-xmlns, soap-multi-refs) 281 (soap-default-xmlns, soap-target-xmlns, soap-multi-refs)
269 (soap-decoded-multi-refs, soap-current-wsdl) 282 (soap-decoded-multi-refs, soap-current-wsdl)
270 (soap-encoded-namespaces): Rename CL-style *...* variables. 283 (soap-encoded-namespaces): Rename CL-style *...* variables.
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 9be093743b5..fc167d6e62e 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -1574,8 +1574,12 @@ special handling of `substitute-in-file-name'."
1574 (let ((props (tramp-compat-funcall 1574 (let ((props (tramp-compat-funcall
1575 'overlay-properties (symbol-value 'rfn-eshadow-overlay)))) 1575 'overlay-properties (symbol-value 'rfn-eshadow-overlay))))
1576 (while props 1576 (while props
1577 (tramp-compat-funcall 1577 ;; The `field' property prevents correct minibuffer
1578 'overlay-put tramp-rfn-eshadow-overlay (pop props) (pop props)))))) 1578 ;; completion; we exclude it.
1579 (if (not (eq (car props) 'field))
1580 (tramp-compat-funcall
1581 'overlay-put tramp-rfn-eshadow-overlay (pop props) (pop props))
1582 (pop props) (pop props))))))
1579 1583
1580(when (boundp 'rfn-eshadow-setup-minibuffer-hook) 1584(when (boundp 'rfn-eshadow-setup-minibuffer-hook)
1581 (add-hook 'rfn-eshadow-setup-minibuffer-hook 1585 (add-hook 'rfn-eshadow-setup-minibuffer-hook
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index de1debd6456..654323e03e4 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -2023,9 +2023,9 @@ comment at the start of cc-engine.el for more info."
2023 2023
2024(defvar c-state-nonlit-pos-cache nil) 2024(defvar c-state-nonlit-pos-cache nil)
2025(make-variable-buffer-local 'c-state-nonlit-pos-cache) 2025(make-variable-buffer-local 'c-state-nonlit-pos-cache)
2026;; A list of buffer positions which are known not to be in a literal. This is 2026;; A list of buffer positions which are known not to be in a literal or a cpp
2027;; ordered with higher positions at the front of the list. Only those which 2027;; construct. This is ordered with higher positions at the front of the list.
2028;; are less than `c-state-nonlit-pos-cache-limit' are valid. 2028;; Only those which are less than `c-state-nonlit-pos-cache-limit' are valid.
2029 2029
2030(defvar c-state-nonlit-pos-cache-limit 1) 2030(defvar c-state-nonlit-pos-cache-limit 1)
2031(make-variable-buffer-local 'c-state-nonlit-pos-cache-limit) 2031(make-variable-buffer-local 'c-state-nonlit-pos-cache-limit)
@@ -2056,6 +2056,12 @@ comment at the start of cc-engine.el for more info."
2056 ;; This function is almost the same as `c-literal-limits'. It differs in 2056 ;; This function is almost the same as `c-literal-limits'. It differs in
2057 ;; that it is a lower level function, and that it rigourously follows the 2057 ;; that it is a lower level function, and that it rigourously follows the
2058 ;; syntax from BOB, whereas `c-literal-limits' uses a "local" safe position. 2058 ;; syntax from BOB, whereas `c-literal-limits' uses a "local" safe position.
2059 ;;
2060 ;; NOTE: This function manipulates `c-state-nonlit-pos-cache'. This cache
2061 ;; MAY NOT contain any positions within macros, since macros are frequently
2062 ;; turned into comments by use of the `c-cpp-delimiter' category properties.
2063 ;; We cannot rely on this mechanism whilst determining a cache pos since
2064 ;; this function is also called from outwith `c-parse-state'.
2059 (save-restriction 2065 (save-restriction
2060 (widen) 2066 (widen)
2061 (save-excursion 2067 (save-excursion
@@ -2074,6 +2080,11 @@ comment at the start of cc-engine.el for more info."
2074 here) 2080 here)
2075 (setq lit (c-state-pp-to-literal pos npos)) 2081 (setq lit (c-state-pp-to-literal pos npos))
2076 (setq pos (or (cdr lit) npos)) ; end of literal containing npos. 2082 (setq pos (or (cdr lit) npos)) ; end of literal containing npos.
2083 (goto-char pos)
2084 (when (and (c-beginning-of-macro) (/= (point) pos))
2085 (c-syntactic-end-of-macro)
2086 (or (eobp) (forward-char))
2087 (setq pos (point)))
2077 (setq c-state-nonlit-pos-cache (cons pos c-state-nonlit-pos-cache))) 2088 (setq c-state-nonlit-pos-cache (cons pos c-state-nonlit-pos-cache)))
2078 2089
2079 (if (> pos c-state-nonlit-pos-cache-limit) 2090 (if (> pos c-state-nonlit-pos-cache-limit)
@@ -2158,7 +2169,7 @@ comment at the start of cc-engine.el for more info."
2158;; of fruitless backward scans. 2169;; of fruitless backward scans.
2159(defvar c-state-brace-pair-desert nil) 2170(defvar c-state-brace-pair-desert nil)
2160(make-variable-buffer-local 'c-state-brace-pair-desert) 2171(make-variable-buffer-local 'c-state-brace-pair-desert)
2161;; Used only in `c-append-lower-brace-pair-to-state-cache'. It is set when an 2172;; Used only in `c-append-lower-brace-pair-to-state-cache'. It is set when
2162;; that defun has searched backwards for a brace pair and not found one. Its 2173;; that defun has searched backwards for a brace pair and not found one. Its
2163;; value is either nil or a cons (PA . FROM), where PA is the position of the 2174;; value is either nil or a cons (PA . FROM), where PA is the position of the
2164;; enclosing opening paren/brace/bracket which bounds the backwards search (or 2175;; enclosing opening paren/brace/bracket which bounds the backwards search (or
@@ -2843,6 +2854,29 @@ comment at the start of cc-engine.el for more info."
2843 c-state-old-cpp-end nil) 2854 c-state-old-cpp-end nil)
2844 (c-state-mark-point-min-literal)) 2855 (c-state-mark-point-min-literal))
2845 2856
2857;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2858;; Debugging routines to dump `c-state-cache' in a "replayable" form.
2859;; (defmacro c-sc-de (elt) ; "c-state-cache-dump-element"
2860;; `(format ,(concat "(setq " (symbol-name elt) " %s) ") ,elt))
2861;; (defmacro c-sc-qde (elt) ; "c-state-cache-quote-dump-element"
2862;; `(format ,(concat "(setq " (symbol-name elt) " '%s) ") ,elt))
2863;; (defun c-state-dump ()
2864;; ;; For debugging.
2865;; ;(message
2866;; (concat
2867;; (c-sc-qde c-state-cache)
2868;; (c-sc-de c-state-cache-good-pos)
2869;; (c-sc-qde c-state-nonlit-pos-cache)
2870;; (c-sc-de c-state-nonlit-pos-cache-limit)
2871;; (c-sc-qde c-state-brace-pair-desert)
2872;; (c-sc-de c-state-point-min)
2873;; (c-sc-de c-state-point-min-lit-type)
2874;; (c-sc-de c-state-point-min-lit-start)
2875;; (c-sc-de c-state-min-scan-pos)
2876;; (c-sc-de c-state-old-cpp-beg)
2877;; (c-sc-de c-state-old-cpp-end)))
2878;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2879
2846(defun c-invalidate-state-cache-1 (here) 2880(defun c-invalidate-state-cache-1 (here)
2847 ;; Invalidate all info on `c-state-cache' that applies to the buffer at HERE 2881 ;; Invalidate all info on `c-state-cache' that applies to the buffer at HERE
2848 ;; or higher and set `c-state-cache-good-pos' accordingly. The cache is 2882 ;; or higher and set `c-state-cache-good-pos' accordingly. The cache is
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 41273114429..f20fbd1d31a 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,16 @@
12011-02-21 Christoph Scholtes <cschol2112@gmail.com>
2
3 * inc/stdint.h: New file, to support compilation with tool chains
4 that do not have stdint.h (e.g. MSVC).
5
62011-02-21 Eli Zaretskii <eliz@gnu.org>
7
8 * inc/sys/stat.h (S_ISUID, S_ISGID, S_ISVTX, S_IRGRP, S_IROTH)
9 (S_IWGRP, S_IWOTH, S_IXGRP, S_IXOTH, S_ISSOCK, S_ISLNK, S_ISCTG)
10 (S_ISDOOR, S_ISMPB, S_ISMPC, S_ISNWK, S_ISPORT, S_ISWHT)
11 (S_TYPEISMQ, S_TYPEISSEM, S_TYPEISSHM, S_TYPEISTMO): Define.
12 (lstat): Define to stat.
13
12011-02-09 Eli Zaretskii <eliz@gnu.org> 142011-02-09 Eli Zaretskii <eliz@gnu.org>
2 15
3 * makefile.w32-in (bootstrap-nmake, bootstrap-gmake): Make the 16 * makefile.w32-in (bootstrap-nmake, bootstrap-gmake): Make the
diff --git a/nt/inc/stdint.h b/nt/inc/stdint.h
new file mode 100644
index 00000000000..ed4e26a6867
--- /dev/null
+++ b/nt/inc/stdint.h
@@ -0,0 +1,34 @@
1/* Replacement stdint.h file for building GNU Emacs on Windows.
2
3Copyright (C) 2011 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20#ifndef _NT_STDINT_H_
21#define _NT_STDINT_H_
22
23#ifdef __GNUC__
24# include_next <stdint.h> /* use stdint.h if available */
25#else /* !__GNUC__ */
26
27/* Minimum definitions to allow compilation with tool chains where
28 stdint.h is not available, e.g. Microsoft Visual Studio. */
29
30typedef unsigned int uint32_t;
31
32#endif /* !__GNUC__ */
33
34#endif /* _NT_STDINT_H_ */
diff --git a/nt/inc/sys/stat.h b/nt/inc/sys/stat.h
index a217dea9d47..7f0bbeccb17 100644
--- a/nt/inc/sys/stat.h
+++ b/nt/inc/sys/stat.h
@@ -56,6 +56,31 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
56#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) 56#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
57#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) 57#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
58 58
59/* These don't exist on Windows, but lib/filemode.c wants them. */
60#define S_ISUID 0
61#define S_ISGID 0
62#define S_ISVTX 0
63#define S_IRGRP (S_IRUSR >> 3)
64#define S_IROTH (S_IRUSR >> 6)
65#define S_IWGRP (S_IWUSR >> 3)
66#define S_IWOTH (S_IWUSR >> 6)
67#define S_IXGRP (S_IXUSR >> 3)
68#define S_IXOTH (S_IXUSR >> 6)
69
70#define S_ISSOCK(m) 0
71#define S_ISLNK(m) 0
72#define S_ISCTG(p) 0
73#define S_ISDOOR(m) 0
74#define S_ISMPB(m) 0
75#define S_ISMPC(m) 0
76#define S_ISNWK(m) 0
77#define S_ISPORT(m) 0
78#define S_ISWHT(m) 0
79#define S_TYPEISMQ(p) 0
80#define S_TYPEISSEM(p) 0
81#define S_TYPEISSHM(p) 0
82#define S_TYPEISTMO(p) 0
83
59struct stat { 84struct stat {
60 unsigned __int64 st_ino; /* ino_t in sys/types.h is too narrow */ 85 unsigned __int64 st_ino; /* ino_t in sys/types.h is too narrow */
61 dev_t st_dev; 86 dev_t st_dev;
@@ -76,5 +101,8 @@ _CRTIMP int __cdecl __MINGW_NOTHROW fstat (int, struct stat*);
76_CRTIMP int __cdecl __MINGW_NOTHROW chmod (const char*, int); 101_CRTIMP int __cdecl __MINGW_NOTHROW chmod (const char*, int);
77_CRTIMP int __cdecl __MINGW_NOTHROW stat (const char*, struct stat*); 102_CRTIMP int __cdecl __MINGW_NOTHROW stat (const char*, struct stat*);
78 103
104/* fileio.c and dired.c want lstat. */
105#define lstat stat
106
79#endif /* INC_SYS_STAT_H_ */ 107#endif /* INC_SYS_STAT_H_ */
80 108
diff --git a/src/ChangeLog b/src/ChangeLog
index d95ebb32dee..9713a4a6ed5 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
12011-02-21 Eli Zaretskii <eliz@gnu.org>
2
3 * makefile.w32-in ($(BLD)/filemode.$(O)): Move recipe to
4 lib/makefilw.w32-in.
5 ($(BLD)/dired.$(O)): Depend on $(EMACS_ROOT)/lib/filemode.h.
6 (GLOBAL_SOURCES): Remove filemode.c.
7 (OBJ1): Remove $(BLD)/filemode.$(O).
8
12011-02-21 Paul Eggert <eggert@cs.ucla.edu> 92011-02-21 Paul Eggert <eggert@cs.ucla.edu>
2 10
3 Import filemode module from gnulib. 11 Import filemode module from gnulib.
diff --git a/src/makefile.w32-in b/src/makefile.w32-in
index ca7fdcac029..7a702fd45bf 100644
--- a/src/makefile.w32-in
+++ b/src/makefile.w32-in
@@ -72,7 +72,6 @@ OBJ1 = $(BLD)/alloc.$(O) \
72 $(BLD)/eval.$(O) \ 72 $(BLD)/eval.$(O) \
73 $(BLD)/fileio.$(O) \ 73 $(BLD)/fileio.$(O) \
74 $(BLD)/filelock.$(O) \ 74 $(BLD)/filelock.$(O) \
75 $(BLD)/filemode.$(O) \
76 $(BLD)/fns.$(O) \ 75 $(BLD)/fns.$(O) \
77 $(BLD)/indent.$(O) \ 76 $(BLD)/indent.$(O) \
78 $(BLD)/insdel.$(O) \ 77 $(BLD)/insdel.$(O) \
@@ -213,7 +212,7 @@ GLOBAL_SOURCES = dosfns.c msdos.c \
213 cm.c term.c terminal.c xfaces.c \ 212 cm.c term.c terminal.c xfaces.c \
214 emacs.c keyboard.c macros.c keymap.c sysdep.c \ 213 emacs.c keyboard.c macros.c keymap.c sysdep.c \
215 buffer.c filelock.c insdel.c marker.c \ 214 buffer.c filelock.c insdel.c marker.c \
216 minibuf.c fileio.c dired.c filemode.c \ 215 minibuf.c fileio.c dired.c \
217 cmds.c casetab.c casefiddle.c indent.c search.c regex.c undo.c \ 216 cmds.c casetab.c casefiddle.c indent.c search.c regex.c undo.c \
218 alloc.c data.c doc.c editfns.c callint.c \ 217 alloc.c data.c doc.c editfns.c callint.c \
219 eval.c floatfns.c fns.c print.c lread.c \ 218 eval.c floatfns.c fns.c print.c lread.c \
@@ -663,6 +662,7 @@ $(BLD)/dired.$(O) : \
663 $(SRC)/coding.h \ 662 $(SRC)/coding.h \
664 $(SRC)/commands.h \ 663 $(SRC)/commands.h \
665 $(SRC)/composite.h \ 664 $(SRC)/composite.h \
665 $(EMACS_ROOT)/lib/filemode.h \
666 $(SRC)/ndir.h \ 666 $(SRC)/ndir.h \
667 $(SRC)/regex.h \ 667 $(SRC)/regex.h \
668 $(SRC)/systime.h 668 $(SRC)/systime.h
@@ -821,10 +821,6 @@ $(BLD)/filelock.$(O) : \
821 $(SRC)/composite.h \ 821 $(SRC)/composite.h \
822 $(SRC)/systime.h 822 $(SRC)/systime.h
823 823
824$(BLD)/filemode.$(O) : \
825 $(SRC)/filemode.c \
826 $(CONFIG_H)
827
828$(BLD)/firstfile.$(O) : \ 824$(BLD)/firstfile.$(O) : \
829 $(SRC)/firstfile.c \ 825 $(SRC)/firstfile.c \
830 $(CONFIG_H) 826 $(CONFIG_H)