aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader2007-08-21 04:51:30 +0000
committerMiles Bader2007-08-21 04:51:30 +0000
commitbdaf8a62d53cf8d5a0dc4f0dc530ecd6fc1f44fe (patch)
tree083bb8dc3faa311402bb8e86a67a4b9aeb207592
parentcb3fe75728ff4703c11aeb61c079a97da11ec637 (diff)
parent30a718e6b77f4f0c422f748dd14ea772b7fa2a1a (diff)
downloademacs-bdaf8a62d53cf8d5a0dc4f0dc530ecd6fc1f44fe.tar.gz
emacs-bdaf8a62d53cf8d5a0dc4f0dc530ecd6fc1f44fe.zip
Merge from emacs--rel--22
Patches applied: * emacs--rel--22 (patch 93-96) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 245) - Update from CVS Revision: emacs@sv.gnu.org/emacs--devo--0--patch-856
-rw-r--r--admin/FOR-RELEASE11
-rw-r--r--etc/ChangeLog4
-rw-r--r--lisp/ChangeLog22
-rw-r--r--lisp/emacs-lisp/cl-macs.el22
-rw-r--r--lisp/gnus/ChangeLog16
-rw-r--r--lisp/gnus/gnus-agent.el9
-rw-r--r--lisp/gnus/gnus-art.el11
-rw-r--r--lisp/gnus/gnus-sum.el37
-rw-r--r--lisp/gnus/gnus.el11
-rw-r--r--lisp/progmodes/gdb-ui.el6
-rw-r--r--lisp/progmodes/perl-mode.el12
-rw-r--r--lisp/smerge-mode.el51
-rw-r--r--lisp/vc-bzr.el173
-rw-r--r--man/ChangeLog4
-rw-r--r--man/gnus.texi18
-rw-r--r--nt/ChangeLog4
-rw-r--r--nt/makefile.w32-in1
17 files changed, 274 insertions, 138 deletions
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE
index 4614fc63d47..c1ad49587b7 100644
--- a/admin/FOR-RELEASE
+++ b/admin/FOR-RELEASE
@@ -44,11 +44,22 @@ NB the definitive copy of this file for Emacs 22 is on the
44EMACS_22_BASE branch. Any entries below are automatically copied from 44EMACS_22_BASE branch. Any entries below are automatically copied from
45that branch. Do not make manual changes to this file on the trunk. 45that branch. Do not make manual changes to this file on the trunk.
46 46
47** ams@gnu.org, 9 July: eshell and external commands
48http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00385.html
49
50** Check all non-file-scope static vars to make sure they
51won't lose on USG or HPUX systems.
52
47* FIXES FOR EMACS 22.3 53* FIXES FOR EMACS 22.3
48 54
49Here we list small fixes that arrived too late for Emacs 22.2, but 55Here we list small fixes that arrived too late for Emacs 22.2, but
50that should be installed on the release branch after 22.2 is released. 56that should be installed on the release branch after 22.2 is released.
51 57
58** bojohan+news@dd.chalmers.se, 1 Aug: n_schumacher@web.de: modification hooks called only once in
59Fix is on the trunk: 2007-08-13 change to insdel.c by Stefan Monnier.
60http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00457.html
61
62
52* DOCUMENTATION 63* DOCUMENTATION
53 64
54** Check the Emacs Tutorial. 65** Check the Emacs Tutorial.
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 9fd1a50736c..2a09fa9c369 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,7 @@
12007-08-14 Glenn Morris <rgm@gnu.org>
2
3 * NEWS: Mention `bad-packages-alist'.
4
12007-08-08 Glenn Morris <rgm@gnu.org> 52007-08-08 Glenn Morris <rgm@gnu.org>
2 6
3 * TODO: `iff' item is dealt with. 7 * TODO: `iff' item is dealt with.
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 045d486b097..028fe5d2db5 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,25 @@
12007-08-20 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * smerge-mode.el (smerge-resolve): New arg `safe'.
4 (smerge-resolve-all, smerge-batch-resolve): New function.
5 (smerge-refine): Make sure `diff' returns the expected result.
6 (smerge-parsep-re): New const.
7 (smerge-mode): Use it to adjust paragraph-separate.
8
9 * progmodes/perl-mode.el (perl-font-lock-syntactic-keywords):
10 Correctly match / regexp matchers as first char on a line when
11 fontifying only that line.
12
13 * emacs-lisp/cl-macs.el (cl-transform-lambda): Preserve the match-data.
14
152007-08-20 Stefan Monnier <monnier@iro.umontreal.ca>
16
17 * vc-bzr.el: Don't fiddle with vc-handled-backend.
18 (vc-bzr-registered): Don't redundantly protect against
19 file-error. Actually use the format-specific code.
20 (vc-bzr-buffer-nonblank-p): Remove.
21 (vc-bzr-status): Change `kindchange' -> `kindchanged'.
22
12007-08-20 Juri Linkov <juri@jurta.org> 232007-08-20 Juri Linkov <juri@jurta.org>
2 24
3 * startup.el (fancy-splash-text): Change multiple tabs into one 25 * startup.el (fancy-splash-text): Change multiple tabs into one
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index a1264940d41..2a4b69d2afc 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -272,15 +272,19 @@ its argument list allows full Common Lisp conventions."
272 (nconc (nreverse simple-args) 272 (nconc (nreverse simple-args)
273 (list '&rest (car (pop bind-lets)))) 273 (list '&rest (car (pop bind-lets))))
274 (nconc (let ((hdr (nreverse header))) 274 (nconc (let ((hdr (nreverse header)))
275 (require 'help-fns) 275 ;; Macro expansion can take place in the middle of
276 (cons (help-add-fundoc-usage 276 ;; apparently harmless computation, so it should not
277 (if (stringp (car hdr)) (pop hdr)) 277 ;; touch the match-data.
278 ;; orig-args can contain &cl-defs (an internal CL 278 (save-match-data
279 ;; thingy that I do not understand), so remove it. 279 (require 'help-fns)
280 (let ((x (memq '&cl-defs orig-args))) 280 (cons (help-add-fundoc-usage
281 (if (null x) orig-args 281 (if (stringp (car hdr)) (pop hdr))
282 (delq (car x) (remq (cadr x) orig-args))))) 282 ;; orig-args can contain &cl-defs (an internal
283 hdr)) 283 ;; CL thingy I don't understand), so remove it.
284 (let ((x (memq '&cl-defs orig-args)))
285 (if (null x) orig-args
286 (delq (car x) (remq (cadr x) orig-args)))))
287 hdr)))
284 (list (nconc (list 'let* bind-lets) 288 (list (nconc (list 'let* bind-lets)
285 (nreverse bind-forms) body))))))) 289 (nreverse bind-forms) body)))))))
286 290
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 7fd187a4aeb..201b7fefdcb 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,19 @@
12007-08-17 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * gnus-art.el (gnus-article-summary-command-nosave)
4 (gnus-article-read-summary-keys): Don't use 3rd arg of pop-to-buffer.
5
62007-08-14 Katsumi Yamaoka <yamaoka@jpl.org>
7
8 * gnus.el (gnus-maximum-newsgroup): New variable.
9
10 * gnus-agent.el (gnus-agent-fetch-headers): Limit the range of articles
11 according to gnus-maximum-newsgroup.
12
13 * gnus-sum.el (gnus-articles-to-read, gnus-list-of-unread-articles)
14 (gnus-list-of-read-articles, gnus-sequence-of-unread-articles): Limit
15 the range of articles according to gnus-maximum-newsgroup.
16
12007-08-10 Katsumi Yamaoka <yamaoka@jpl.org> 172007-08-10 Katsumi Yamaoka <yamaoka@jpl.org>
2 18
3 * nntp.el (nntp-xref-number-is-evil): New server variable. 19 * nntp.el (nntp-xref-number-is-evil): New server variable.
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
index 7b98b1e045a..347b57983e6 100644
--- a/lisp/gnus/gnus-agent.el
+++ b/lisp/gnus/gnus-agent.el
@@ -1765,7 +1765,14 @@ article numbers will be returned."
1765 (gnus-agent-find-parameter group 1765 (gnus-agent-find-parameter group
1766 'agent-predicate))))) 1766 'agent-predicate)))))
1767 (articles (if fetch-all 1767 (articles (if fetch-all
1768 (gnus-uncompress-range (gnus-active group)) 1768 (if gnus-maximum-newsgroup
1769 (let ((active (gnus-active group)))
1770 (gnus-uncompress-range
1771 (cons (max (car active)
1772 (- (cdr active)
1773 gnus-maximum-newsgroup -1))
1774 (cdr active))))
1775 (gnus-uncompress-range (gnus-active group)))
1769 (gnus-list-of-unread-articles group))) 1776 (gnus-list-of-unread-articles group)))
1770 (gnus-decode-encoded-word-function 'identity) 1777 (gnus-decode-encoded-word-function 'identity)
1771 (gnus-decode-encoded-address-function 'identity) 1778 (gnus-decode-encoded-address-function 'identity)
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 6ccba3b108f..696222e0043 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -5607,7 +5607,7 @@ not have a face in `gnus-article-boring-faces'."
5607 "Execute the last keystroke in the summary buffer." 5607 "Execute the last keystroke in the summary buffer."
5608 (interactive) 5608 (interactive)
5609 (let (func) 5609 (let (func)
5610 (pop-to-buffer gnus-article-current-summary nil (not (featurep 'xemacs))) 5610 (pop-to-buffer gnus-article-current-summary)
5611 (setq func (lookup-key (current-local-map) (this-command-keys))) 5611 (setq func (lookup-key (current-local-map) (this-command-keys)))
5612 (call-interactively func))) 5612 (call-interactively func)))
5613 5613
@@ -5646,8 +5646,7 @@ not have a face in `gnus-article-boring-faces'."
5646 (member keys nosave-in-article)) 5646 (member keys nosave-in-article))
5647 (let (func) 5647 (let (func)
5648 (save-window-excursion 5648 (save-window-excursion
5649 (pop-to-buffer gnus-article-current-summary 5649 (pop-to-buffer gnus-article-current-summary)
5650 nil (not (featurep 'xemacs)))
5651 ;; We disable the pick minor mode commands. 5650 ;; We disable the pick minor mode commands.
5652 (let (gnus-pick-mode) 5651 (let (gnus-pick-mode)
5653 (setq func (lookup-key (current-local-map) keys)))) 5652 (setq func (lookup-key (current-local-map) keys))))
@@ -5659,16 +5658,14 @@ not have a face in `gnus-article-boring-faces'."
5659 (call-interactively func) 5658 (call-interactively func)
5660 (setq new-sum-point (point))) 5659 (setq new-sum-point (point)))
5661 (when (member keys nosave-but-article) 5660 (when (member keys nosave-but-article)
5662 (pop-to-buffer gnus-article-buffer 5661 (pop-to-buffer gnus-article-buffer)))
5663 nil (not (featurep 'xemacs)))))
5664 ;; These commands should restore window configuration. 5662 ;; These commands should restore window configuration.
5665 (let ((obuf (current-buffer)) 5663 (let ((obuf (current-buffer))
5666 (owin (current-window-configuration)) 5664 (owin (current-window-configuration))
5667 (opoint (point)) 5665 (opoint (point))
5668 win func in-buffer selected new-sum-start new-sum-hscroll) 5666 win func in-buffer selected new-sum-start new-sum-hscroll)
5669 (cond (not-restore-window 5667 (cond (not-restore-window
5670 (pop-to-buffer gnus-article-current-summary 5668 (pop-to-buffer gnus-article-current-summary))
5671 nil (not (featurep 'xemacs))))
5672 ((setq win (get-buffer-window gnus-article-current-summary)) 5669 ((setq win (get-buffer-window gnus-article-current-summary))
5673 (select-window win)) 5670 (select-window win))
5674 (t 5671 (t
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 708689fef9e..851ec88c96f 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -5472,7 +5472,13 @@ If SELECT-ARTICLES, only select those articles from GROUP."
5472 ;; articles in the group, or (if that's nil), the 5472 ;; articles in the group, or (if that's nil), the
5473 ;; articles in the cache. 5473 ;; articles in the cache.
5474 (or 5474 (or
5475 (gnus-uncompress-range (gnus-active group)) 5475 (if gnus-maximum-newsgroup
5476 (let ((active (gnus-active group)))
5477 (gnus-uncompress-range
5478 (cons (max (car active)
5479 (- (cdr active) gnus-maximum-newsgroup -1))
5480 (cdr active))))
5481 (gnus-uncompress-range (gnus-active group)))
5476 (gnus-cache-articles-in-group group)) 5482 (gnus-cache-articles-in-group group))
5477 ;; Select only the "normal" subset of articles. 5483 ;; Select only the "normal" subset of articles.
5478 (gnus-sorted-nunion 5484 (gnus-sorted-nunion
@@ -6534,23 +6540,26 @@ displayed, no centering will be performed."
6534 (let* ((read (gnus-info-read (gnus-get-info group))) 6540 (let* ((read (gnus-info-read (gnus-get-info group)))
6535 (active (or (gnus-active group) (gnus-activate-group group))) 6541 (active (or (gnus-active group) (gnus-activate-group group)))
6536 (last (cdr active)) 6542 (last (cdr active))
6543 (bottom (if gnus-maximum-newsgroup
6544 (max (car active) (- last gnus-maximum-newsgroup -1))
6545 (car active)))
6537 first nlast unread) 6546 first nlast unread)
6538 ;; If none are read, then all are unread. 6547 ;; If none are read, then all are unread.
6539 (if (not read) 6548 (if (not read)
6540 (setq first (car active)) 6549 (setq first bottom)
6541 ;; If the range of read articles is a single range, then the 6550 ;; If the range of read articles is a single range, then the
6542 ;; first unread article is the article after the last read 6551 ;; first unread article is the article after the last read
6543 ;; article. Sounds logical, doesn't it? 6552 ;; article. Sounds logical, doesn't it?
6544 (if (and (not (listp (cdr read))) 6553 (if (and (not (listp (cdr read)))
6545 (or (< (car read) (car active)) 6554 (or (< (car read) bottom)
6546 (progn (setq read (list read)) 6555 (progn (setq read (list read))
6547 nil))) 6556 nil)))
6548 (setq first (max (car active) (1+ (cdr read)))) 6557 (setq first (max bottom (1+ (cdr read))))
6549 ;; `read' is a list of ranges. 6558 ;; `read' is a list of ranges.
6550 (when (/= (setq nlast (or (and (numberp (car read)) (car read)) 6559 (when (/= (setq nlast (or (and (numberp (car read)) (car read))
6551 (caar read))) 6560 (caar read)))
6552 1) 6561 1)
6553 (setq first (car active))) 6562 (setq first bottom))
6554 (while read 6563 (while read
6555 (when first 6564 (when first
6556 (while (< first nlast) 6565 (while (< first nlast)
@@ -6575,7 +6584,12 @@ displayed, no centering will be performed."
6575 (gnus-list-range-difference 6584 (gnus-list-range-difference
6576 (gnus-list-range-difference 6585 (gnus-list-range-difference
6577 (gnus-sorted-complement 6586 (gnus-sorted-complement
6578 (gnus-uncompress-range active) 6587 (gnus-uncompress-range
6588 (if gnus-maximum-newsgroup
6589 (cons (max (car active)
6590 (- (cdr active) gnus-maximum-newsgroup -1))
6591 (cdr active))
6592 active))
6579 (gnus-list-of-unread-articles group)) 6593 (gnus-list-of-unread-articles group))
6580 (cdr (assq 'dormant marked))) 6594 (cdr (assq 'dormant marked)))
6581 (cdr (assq 'tick marked)))))) 6595 (cdr (assq 'tick marked))))))
@@ -6587,23 +6601,26 @@ displayed, no centering will be performed."
6587 (let* ((read (gnus-info-read (gnus-get-info group))) 6601 (let* ((read (gnus-info-read (gnus-get-info group)))
6588 (active (or (gnus-active group) (gnus-activate-group group))) 6602 (active (or (gnus-active group) (gnus-activate-group group)))
6589 (last (cdr active)) 6603 (last (cdr active))
6604 (bottom (if gnus-maximum-newsgroup
6605 (max (car active) (- last gnus-maximum-newsgroup -1))
6606 (car active)))
6590 first nlast unread) 6607 first nlast unread)
6591 ;; If none are read, then all are unread. 6608 ;; If none are read, then all are unread.
6592 (if (not read) 6609 (if (not read)
6593 (setq first (car active)) 6610 (setq first bottom)
6594 ;; If the range of read articles is a single range, then the 6611 ;; If the range of read articles is a single range, then the
6595 ;; first unread article is the article after the last read 6612 ;; first unread article is the article after the last read
6596 ;; article. Sounds logical, doesn't it? 6613 ;; article. Sounds logical, doesn't it?
6597 (if (and (not (listp (cdr read))) 6614 (if (and (not (listp (cdr read)))
6598 (or (< (car read) (car active)) 6615 (or (< (car read) bottom)
6599 (progn (setq read (list read)) 6616 (progn (setq read (list read))
6600 nil))) 6617 nil)))
6601 (setq first (max (car active) (1+ (cdr read)))) 6618 (setq first (max bottom (1+ (cdr read))))
6602 ;; `read' is a list of ranges. 6619 ;; `read' is a list of ranges.
6603 (when (/= (setq nlast (or (and (numberp (car read)) (car read)) 6620 (when (/= (setq nlast (or (and (numberp (car read)) (car read))
6604 (caar read))) 6621 (caar read)))
6605 1) 6622 1)
6606 (setq first (car active))) 6623 (setq first bottom))
6607 (while read 6624 (while read
6608 (when first 6625 (when first
6609 (push (cons first nlast) unread)) 6626 (push (cons first nlast) unread))
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index 0e8e9908cf4..3f75bba6d1c 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -1501,6 +1501,17 @@ If it is nil, no confirmation is required."
1501 :type '(choice (const :tag "No limit" nil) 1501 :type '(choice (const :tag "No limit" nil)
1502 integer)) 1502 integer))
1503 1503
1504(defcustom gnus-maximum-newsgroup nil
1505 "The maximum number of articles a newsgroup.
1506If this is a number, old articles in a newsgroup exceeding this number
1507are silently ignored. If it is nil, no article is ignored. Note that
1508setting this variable to a number might prevent you from reading very
1509old articles."
1510 :group 'gnus-group-select
1511 :version "22.2"
1512 :type '(choice (const :tag "No limit" nil)
1513 integer))
1514
1504(defcustom gnus-use-long-file-name (not (memq system-type '(usg-unix-v xenix))) 1515(defcustom gnus-use-long-file-name (not (memq system-type '(usg-unix-v xenix)))
1505 "*Non-nil means that the default name of a file to save articles in is the group name. 1516 "*Non-nil means that the default name of a file to save articles in is the group name.
1506If it's nil, the directory form of the group name is used instead. 1517If it's nil, the directory form of the group name is used instead.
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index c4d14462245..716b79138f9 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -1132,10 +1132,10 @@ This filter may simply queue input for a later time."
1132 (let ((item (concat string "\n"))) 1132 (let ((item (concat string "\n")))
1133 (if gdb-enable-debug (push (cons 'send item) gdb-debug-log)) 1133 (if gdb-enable-debug (push (cons 'send item) gdb-debug-log))
1134 (process-send-string proc item))) 1134 (process-send-string proc item)))
1135 (if (and (string-match "\\\\$" string) 1135 (if (string-match "\\\\\\'" string)
1136 (not comint-input-sender-no-newline)) ;;Try to catch C-d.
1137 (setq gdb-continuation (concat gdb-continuation string "\n")) 1136 (setq gdb-continuation (concat gdb-continuation string "\n"))
1138 (let ((item (concat gdb-continuation string "\n"))) 1137 (let ((item (concat gdb-continuation string
1138 (if (not comint-input-sender-no-newline) "\n"))))
1139 (gdb-enqueue-input item) 1139 (gdb-enqueue-input item)
1140 (setq gdb-continuation nil))))) 1140 (setq gdb-continuation nil)))))
1141 1141
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index cfef0eedfe4..f2feff595bb 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -267,8 +267,16 @@ The expansion is entirely correct because it uses the C preprocessor."
267 ("^[ \t]*format.*=[ \t]*\\(\n\\)" (1 '(7))) 267 ("^[ \t]*format.*=[ \t]*\\(\n\\)" (1 '(7)))
268 ;; Funny things in sub arg specifications like `sub myfunc ($$)' 268 ;; Funny things in sub arg specifications like `sub myfunc ($$)'
269 ("\\<sub\\s-+\\S-+\\s-*(\\([^)]+\\))" 1 '(1)) 269 ("\\<sub\\s-+\\S-+\\s-*(\\([^)]+\\))" 1 '(1))
270 ;; regexp and funny quotes 270 ;; Regexp and funny quotes.
271 ("[?:.,;=!~({[][ \t\n]*\\(/\\)" (1 '(7))) 271 ("\\(?:[?:.,;=!~({[]\\|\\(^\\)\\)[ \t\n]*\\(/\\)"
272 (2 (if (and (match-end 1)
273 (save-excursion
274 (goto-char (match-end 1))
275 (skip-chars-backward " \t\n")
276 (not (memq (char-before)
277 '(?? ?: ?. ?, ?\; ?= ?! ?~ ?\( ?\[)))))
278 nil ;; A division sign instead of a regexp-match.
279 '(7))))
272 ("\\(^\\|[?:.,;=!~({[ \t]\\)\\([msy]\\|q[qxrw]?\\|tr\\)\\>\\s-*\\([^])}> \n\t]\\)" 280 ("\\(^\\|[?:.,;=!~({[ \t]\\)\\([msy]\\|q[qxrw]?\\|tr\\)\\>\\s-*\\([^])}> \n\t]\\)"
273 ;; Nasty cases: 281 ;; Nasty cases:
274 ;; /foo/m $a->m $#m $m @m %m 282 ;; /foo/m $a->m $#m $m @m %m
diff --git a/lisp/smerge-mode.el b/lisp/smerge-mode.el
index ef80ef81679..e3484bb0a48 100644
--- a/lisp/smerge-mode.el
+++ b/lisp/smerge-mode.el
@@ -324,7 +324,8 @@ Can be nil if the style is undecided, or else:
324(defvar smerge-resolve-function 324(defvar smerge-resolve-function
325 (lambda () (error "Don't know how to resolve")) 325 (lambda () (error "Don't know how to resolve"))
326 "Mode-specific merge function. 326 "Mode-specific merge function.
327The function is called with no argument and with the match data set 327The function is called with zero or one argument (non-nil if the resolution
328function should only apply safe heuristics) and with the match data set
328according to `smerge-match-conflict'.") 329according to `smerge-match-conflict'.")
329(add-to-list 'debug-ignored-errors "Don't know how to resolve") 330(add-to-list 'debug-ignored-errors "Don't know how to resolve")
330 331
@@ -378,7 +379,7 @@ according to `smerge-match-conflict'.")
378 (smerge-remove-props (or beg (point-min)) (or end (point-max))) 379 (smerge-remove-props (or beg (point-min)) (or end (point-max)))
379 (push event unread-command-events))))) 380 (push event unread-command-events)))))
380 381
381(defun smerge-resolve () 382(defun smerge-resolve (&optional safe)
382 "Resolve the conflict at point intelligently. 383 "Resolve the conflict at point intelligently.
383This relies on mode-specific knowledge and thus only works in 384This relies on mode-specific knowledge and thus only works in
384some major modes. Uses `smerge-resolve-function' to do the actual work." 385some major modes. Uses `smerge-resolve-function' to do the actual work."
@@ -393,8 +394,10 @@ some major modes. Uses `smerge-resolve-function' to do the actual work."
393 ;; Mode-specific conflict resolution. 394 ;; Mode-specific conflict resolution.
394 ((condition-case nil 395 ((condition-case nil
395 (atomic-change-group 396 (atomic-change-group
396 (funcall smerge-resolve-function) 397 (if safe
397 t) 398 (funcall smerge-resolve-function safe)
399 (funcall smerge-resolve-function))
400 t)
398 (error nil)) 401 (error nil))
399 ;; Nothing to do: the resolution function has done it already. 402 ;; Nothing to do: the resolution function has done it already.
400 nil) 403 nil)
@@ -412,6 +415,31 @@ some major modes. Uses `smerge-resolve-function' to do the actual work."
412 (error "Don't know how to resolve"))) 415 (error "Don't know how to resolve")))
413 (smerge-auto-leave)) 416 (smerge-auto-leave))
414 417
418(defun smerge-resolve-all ()
419 "Perform automatic resolution on all conflicts."
420 (interactive)
421 (save-excursion
422 (goto-char (point-min))
423 (while (re-search-forward smerge-begin-re nil t)
424 (condition-case nil
425 (progn
426 (smerge-match-conflict)
427 (smerge-resolve 'safe))
428 (error nil)))))
429
430(defun smerge-batch-resolve ()
431 ;; command-line-args-left is what is left of the command line.
432 (if (not noninteractive)
433 (error "`smerge-batch-resolve' is to be used only with -batch"))
434 (while command-line-args-left
435 (let ((file (pop command-line-args-left)))
436 (message "Resolving conflicts in %s..." file)
437 (when (file-readable-p file)
438 (with-current-buffer (find-file-noselect file)
439 (smerge-resolve-all)
440 (save-buffer)
441 (kill-buffer (current-buffer)))))))
442
415(defun smerge-keep-base () 443(defun smerge-keep-base ()
416 "Revert to the base version." 444 "Revert to the base version."
417 (interactive) 445 (interactive)
@@ -677,7 +705,9 @@ Point is moved to the end of the conflict."
677 (unwind-protect 705 (unwind-protect
678 (with-temp-buffer 706 (with-temp-buffer
679 (let ((coding-system-for-read 'emacs-mule)) 707 (let ((coding-system-for-read 'emacs-mule))
680 (call-process diff-command nil t nil file1 file2)) 708 ;; Don't forget -a to make sure diff treats it as a text file
709 ;; even if it contains \0 and such.
710 (call-process diff-command nil t nil "-a" file1 file2))
681 ;; Process diff's output. 711 ;; Process diff's output.
682 (goto-char (point-min)) 712 (goto-char (point-min))
683 (while (not (eobp)) 713 (while (not (eobp))
@@ -831,6 +861,10 @@ buffer names."
831 (message "Please resolve conflicts now; exit ediff when done"))) 861 (message "Please resolve conflicts now; exit ediff when done")))
832 862
833 863
864(defconst smerge-parsep-re
865 (concat smerge-begin-re "\\|" smerge-end-re "\\|"
866 smerge-base-re "\\|" smerge-other-re "\\|"))
867
834;;;###autoload 868;;;###autoload
835(define-minor-mode smerge-mode 869(define-minor-mode smerge-mode
836 "Minor mode to simplify editing output from the diff3 program. 870 "Minor mode to simplify editing output from the diff3 program.
@@ -845,6 +879,13 @@ buffer names."
845 (while (smerge-find-conflict) 879 (while (smerge-find-conflict)
846 (save-excursion 880 (save-excursion
847 (font-lock-fontify-region (match-beginning 0) (match-end 0) nil))))) 881 (font-lock-fontify-region (match-beginning 0) (match-end 0) nil)))))
882 (if (string-match (regexp-quote smerge-parsep-re) paragraph-separate)
883 (unless smerge-mode
884 (set (make-local-variable 'paragraph-separate)
885 (replace-match "" t t paragraph-separate)))
886 (when smerge-mode
887 (set (make-local-variable 'paragraph-separate)
888 (concat smerge-parsep-re paragraph-separate))))
848 (unless smerge-mode 889 (unless smerge-mode
849 (smerge-remove-props (point-min) (point-max)))) 890 (smerge-remove-props (point-min) (point-max))))
850 891
diff --git a/lisp/vc-bzr.el b/lisp/vc-bzr.el
index 20a9ca9b2fb..c42a64969f2 100644
--- a/lisp/vc-bzr.el
+++ b/lisp/vc-bzr.el
@@ -59,7 +59,7 @@
59 59
60(defgroup vc-bzr nil 60(defgroup vc-bzr nil
61 "VC bzr backend." 61 "VC bzr backend."
62;; :version "22" 62 :version "22.2"
63 :group 'vc) 63 :group 'vc)
64 64
65(defcustom vc-bzr-program "bzr" 65(defcustom vc-bzr-program "bzr"
@@ -131,38 +131,27 @@ format 3' in the first line.
131 131
132If the `checkout/dirstate' file cannot be parsed, fall back to 132If the `checkout/dirstate' file cannot be parsed, fall back to
133running `vc-bzr-state'." 133running `vc-bzr-state'."
134 (condition-case nil 134 (lexical-let ((root (vc-bzr-root file)))
135 (lexical-let ((root (vc-bzr-root file))) 135 (when root ; Short cut.
136 (and root ; Short cut. 136 ;; This looks at internal files. May break if they change
137 ;; This looks at internal files. May break if they change 137 ;; their format.
138 ;; their format. 138 (lexical-let ((dirstate (expand-file-name vc-bzr-admin-dirstate root)))
139 (lexical-let 139 (if (not (file-readable-p dirstate))
140 ((dirstate-file (expand-file-name vc-bzr-admin-dirstate root))) 140 (vc-bzr-state file) ; Expensive.
141 (if (file-exists-p dirstate-file) 141 (with-temp-buffer
142 (with-temp-buffer 142 (insert-file-contents dirstate)
143 (insert-file-contents dirstate-file) 143 (goto-char (point-min))
144 (goto-char (point-min)) 144 (if (not (looking-at "#bazaar dirstate flat format 3"))
145 (when (looking-at "#bazaar dirstate flat format 3") 145 (vc-bzr-state file) ; Some other unknown format?
146 (let* ((relfile (file-relative-name file root)) 146 (let* ((relfile (file-relative-name file root))
147 (reldir (file-name-directory relfile))) 147 (reldir (file-name-directory relfile)))
148 (re-search-forward 148 (re-search-forward
149 (concat "^\0" 149 (concat "^\0"
150 (if reldir (regexp-quote (directory-file-name reldir))) 150 (if reldir (regexp-quote (directory-file-name reldir)))
151 "\0" 151 "\0"
152 (regexp-quote (file-name-nondirectory relfile)) 152 (regexp-quote (file-name-nondirectory relfile))
153 "\0") 153 "\0")
154 nil t)))) 154 nil t)))))))))
155 t))
156 (vc-bzr-state file))) ; Expensive.
157 (file-error nil))) ; vc-bzr-program not found
158
159(defun vc-bzr-buffer-nonblank-p (&optional buffer)
160 "Return non-nil if BUFFER contains any non-blank characters."
161 (or (> (buffer-size buffer) 0)
162 (save-excursion
163 (set-buffer (or buffer (current-buffer)))
164 (goto-char (point-min))
165 (re-search-forward "[^ \t\n]" (point-max) t))))
166 155
167(defconst vc-bzr-state-words 156(defconst vc-bzr-state-words
168 "added\\|ignored\\|kind changed\\|modified\\|removed\\|renamed\\|unknown" 157 "added\\|ignored\\|kind changed\\|modified\\|removed\\|renamed\\|unknown"
@@ -181,61 +170,53 @@ running `vc-bzr-state'."
181(defun vc-bzr-status (file) 170(defun vc-bzr-status (file)
182 "Return FILE status according to Bzr. 171 "Return FILE status according to Bzr.
183Return value is a cons (STATUS . WARNING), where WARNING is a 172Return value is a cons (STATUS . WARNING), where WARNING is a
184string or nil, and STATUS is one of the symbols: 'added, 173string or nil, and STATUS is one of the symbols: `added',
185'ignored, 'kindchange, 'modified, 'removed, 'renamed, 'unknown, 174`ignored', `kindchanged', `modified', `removed', `renamed', `unknown',
186which directly correspond to `bzr status' output, or 'unchanged 175which directly correspond to `bzr status' output, or 'unchanged
187for files whose copy in the working tree is identical to the one 176for files whose copy in the working tree is identical to the one
188in the branch repository, or nil for files that are not 177in the branch repository, or nil for files that are not
189registered with Bzr. 178registered with Bzr.
190 179
191If any error occurred in running `bzr status', then return nil." 180If any error occurred in running `bzr status', then return nil."
192 (condition-case nil
193 (with-temp-buffer 181 (with-temp-buffer
194 (let ((ret (vc-bzr-command "status" t 0 file)) 182 (let ((ret (condition-case nil
195 (status 'unchanged)) 183 (vc-bzr-command "status" t 0 file)
196 ;; the only secure status indication in `bzr status' output 184 (file-error nil))) ; vc-bzr-program not found.
197 ;; is a couple of lines following the pattern:: 185 (status 'unchanged))
198 ;; | <status>: 186 ;; the only secure status indication in `bzr status' output
199 ;; | <file name> 187 ;; is a couple of lines following the pattern::
200 ;; if the file is up-to-date, we get no status report from `bzr', 188 ;; | <status>:
201 ;; so if the regexp search for the above pattern fails, we consider 189 ;; | <file name>
202 ;; the file to be up-to-date. 190 ;; if the file is up-to-date, we get no status report from `bzr',
203 (goto-char (point-min)) 191 ;; so if the regexp search for the above pattern fails, we consider
204 (when 192 ;; the file to be up-to-date.
205 (re-search-forward 193 (goto-char (point-min))
206 ;; bzr prints paths relative to the repository root 194 (when (re-search-forward
207 (concat "^\\(" vc-bzr-state-words "\\):[ \t\n]+" 195 ;; bzr prints paths relative to the repository root.
208 (regexp-quote (vc-bzr-file-name-relative file)) 196 (concat "^\\(" vc-bzr-state-words "\\):[ \t\n]+"
209 (if (file-directory-p file) "/?" "") 197 (regexp-quote (vc-bzr-file-name-relative file))
210 "[ \t\n]*$") 198 (if (file-directory-p file) "/?" "")
211 (point-max) t) 199 "[ \t\n]*$")
212 (let ((start (match-beginning 0)) 200 nil t)
213 (end (match-end 0))) 201 (let ((status (match-string 1)))
214 (goto-char start) 202 ;; Erase the status text that matched.
203 (delete-region (match-beginning 0) (match-end 0))
215 (setq status 204 (setq status
216 (cond 205 (and (equal ret 0) ; Seems redundant. --Stef
217 ((not (equal ret 0)) nil) 206 (intern (replace-regexp-in-string " " ""
218 ((looking-at "added") 'added) 207 status))))))
219 ((looking-at "kind changed") 'kindchange) 208 (when status
220 ((looking-at "renamed") 'renamed) 209 (goto-char (point-min))
221 ((looking-at "modified") 'modified) 210 (skip-chars-forward " \n\t") ;Throw away spaces.
222 ((looking-at "removed") 'removed) 211 (cons status
223 ((looking-at "ignored") 'ignored) 212 ;; "bzr" will output warnings and informational messages to
224 ((looking-at "unknown") 'unknown))) 213 ;; stderr; due to Emacs' `vc-do-command' (and, it seems,
225 ;; erase the status text that matched 214 ;; `start-process' itself) limitations, we cannot catch stderr
226 (delete-region start end))) 215 ;; and stdout into different buffers. So, if there's anything
227 (if status 216 ;; left in the buffer after removing the above status
228 (cons status 217 ;; keywords, let us just presume that any other message from
229 ;; "bzr" will output warnings and informational messages to 218 ;; "bzr" is a user warning, and display it.
230 ;; stderr; due to Emacs' `vc-do-command' (and, it seems, 219 (unless (eobp) (buffer-substring (point) (point-max))))))))
231 ;; `start-process' itself) limitations, we cannot catch stderr
232 ;; and stdout into different buffers. So, if there's anything
233 ;; left in the buffer after removing the above status
234 ;; keywords, let us just presume that any other message from
235 ;; "bzr" is a user warning, and display it.
236 (if (vc-bzr-buffer-nonblank-p)
237 (buffer-substring (point-min) (point-max)))))))
238 (file-error nil))) ; vc-bzr-program not found
239 220
240(defun vc-bzr-state (file) 221(defun vc-bzr-state (file)
241 (lexical-let ((result (vc-bzr-status file))) 222 (lexical-let ((result (vc-bzr-status file)))
@@ -244,7 +225,7 @@ If any error occurred in running `bzr status', then return nil."
244 (message "Warnings in `bzr' output: %s" (cdr result))) 225 (message "Warnings in `bzr' output: %s" (cdr result)))
245 (cdr (assq (car result) 226 (cdr (assq (car result)
246 '((added . edited) 227 '((added . edited)
247 (kindchange . edited) 228 (kindchanged . edited)
248 (renamed . edited) 229 (renamed . edited)
249 (modified . edited) 230 (modified . edited)
250 (removed . edited) 231 (removed . edited)
@@ -265,7 +246,7 @@ If any error occurred in running `bzr status', then return nil."
265 ;; bzr process. This looks at internal files. May break if they 246 ;; bzr process. This looks at internal files. May break if they
266 ;; change their format. 247 ;; change their format.
267 (if (file-exists-p branch-format-file) 248 (if (file-exists-p branch-format-file)
268 (with-temp-buffer 249 (with-temp-buffer
269 (insert-file-contents branch-format-file) 250 (insert-file-contents branch-format-file)
270 (goto-char (point-min)) 251 (goto-char (point-min))
271 (cond 252 (cond
@@ -273,7 +254,7 @@ If any error occurred in running `bzr status', then return nil."
273 (looking-at "Bazaar-NG branch, format 0.0.4") 254 (looking-at "Bazaar-NG branch, format 0.0.4")
274 (looking-at "Bazaar-NG branch format 5")) 255 (looking-at "Bazaar-NG branch format 5"))
275 ;; count lines in .bzr/branch/revision-history 256 ;; count lines in .bzr/branch/revision-history
276 (insert-file-contents revhistory-file) 257 (insert-file-contents revhistory-file)
277 (number-to-string (count-lines (line-end-position) (point-max)))) 258 (number-to-string (count-lines (line-end-position) (point-max))))
278 ((looking-at "Bazaar Branch Format 6 (bzr 0.15)") 259 ((looking-at "Bazaar Branch Format 6 (bzr 0.15)")
279 ;; revno is the first number in .bzr/branch/last-revision 260 ;; revno is the first number in .bzr/branch/last-revision
@@ -341,10 +322,10 @@ EDITABLE is ignored."
341 (setq destfile (vc-version-backup-file-name file rev))) 322 (setq destfile (vc-version-backup-file-name file rev)))
342 (let ((coding-system-for-read 'binary) 323 (let ((coding-system-for-read 'binary)
343 (coding-system-for-write 'binary)) 324 (coding-system-for-write 'binary))
344 (with-temp-file destfile 325 (with-temp-file destfile
345 (if rev 326 (if rev
346 (vc-bzr-command "cat" t 0 file "-r" rev) 327 (vc-bzr-command "cat" t 0 file "-r" rev)
347 (vc-bzr-command "cat" t 0 file))))) 328 (vc-bzr-command "cat" t 0 file)))))
348 329
349(defun vc-bzr-revert (file &optional contents-done) 330(defun vc-bzr-revert (file &optional contents-done)
350 (unless contents-done 331 (unless contents-done
@@ -377,7 +358,6 @@ EDITABLE is ignored."
377 "Get bzr change log for FILES into specified BUFFER." 358 "Get bzr change log for FILES into specified BUFFER."
378 ;; Fixme: This might need the locale fixing up if things like `revno' 359 ;; Fixme: This might need the locale fixing up if things like `revno'
379 ;; got localized, but certainly it shouldn't use LC_ALL=C. 360 ;; got localized, but certainly it shouldn't use LC_ALL=C.
380 ;; NB. Can't be async -- see `vc-bzr-post-command-function'.
381 (vc-bzr-command "log" buffer 0 files) 361 (vc-bzr-command "log" buffer 0 files)
382 ;; FIXME: Until Emacs-23, VC was missing a hook to sort out the mode for 362 ;; FIXME: Until Emacs-23, VC was missing a hook to sort out the mode for
383 ;; the buffer, or at least set the regexps right. 363 ;; the buffer, or at least set the regexps right.
@@ -401,7 +381,6 @@ EDITABLE is ignored."
401 (setq rev1 nil)) 381 (setq rev1 nil))
402 (if (and (not rev1) rev2) 382 (if (and (not rev1) rev2)
403 (setq rev1 working)) 383 (setq rev1 working))
404 ;; NB. Can't be async -- see `vc-bzr-post-command-function'.
405 ;; bzr diff produces condition code 1 for some reason. 384 ;; bzr diff produces condition code 1 for some reason.
406 (apply #'vc-bzr-command "diff" (or buffer "*vc-diff*") 1 files 385 (apply #'vc-bzr-command "diff" (or buffer "*vc-diff*") 1 files
407 "--diff-options" (mapconcat 'identity (vc-diff-switches-list bzr) 386 "--diff-options" (mapconcat 'identity (vc-diff-switches-list bzr)
@@ -463,11 +442,11 @@ property containing author and date information."
463 442
464;; Definition from Emacs 22 443;; Definition from Emacs 22
465(unless (fboundp 'vc-annotate-convert-time) 444(unless (fboundp 'vc-annotate-convert-time)
466(defun vc-annotate-convert-time (time) 445 (defun vc-annotate-convert-time (time)
467 "Convert a time value to a floating-point number of days. 446 "Convert a time value to a floating-point number of days.
468The argument TIME is a list as returned by `current-time' or 447The argument TIME is a list as returned by `current-time' or
469`encode-time', only the first two elements of that list are considered." 448`encode-time', only the first two elements of that list are considered."
470 (/ (+ (* (float (car time)) (lsh 1 16)) (cadr time)) 24 3600))) 449 (/ (+ (* (float (car time)) (lsh 1 16)) (cadr time)) 24 3600)))
471 450
472(defun vc-bzr-annotate-time () 451(defun vc-bzr-annotate-time ()
473 (when (re-search-forward "^ *[0-9]+ |" nil t) 452 (when (re-search-forward "^ *[0-9]+ |" nil t)
@@ -549,7 +528,7 @@ Optional argument LOCALP is always ignored."
549 (setq current-bzr-state 'added)) 528 (setq current-bzr-state 'added))
550 ((looking-at "^kind changed") 529 ((looking-at "^kind changed")
551 (setq current-vc-state 'edited) 530 (setq current-vc-state 'edited)
552 (setq current-bzr-state 'kindchange)) 531 (setq current-bzr-state 'kindchanged))
553 ((looking-at "^modified") 532 ((looking-at "^modified")
554 (setq current-vc-state 'edited) 533 (setq current-vc-state 'edited)
555 (setq current-bzr-state 'modified)) 534 (setq current-bzr-state 'modified))
@@ -591,17 +570,9 @@ Optional argument LOCALP is always ignored."
591 ;; else fall back to default vc representation 570 ;; else fall back to default vc representation
592 (vc-default-dired-state-info 'Bzr file))))) 571 (vc-default-dired-state-info 'Bzr file)))))
593 572
594;; In case of just `(load "vc-bzr")', but that's probably the wrong
595;; way to do it.
596(add-to-list 'vc-handled-backends 'Bzr)
597
598(eval-after-load "vc" 573(eval-after-load "vc"
599 '(add-to-list 'vc-directory-exclusion-list vc-bzr-admin-dirname t)) 574 '(add-to-list 'vc-directory-exclusion-list vc-bzr-admin-dirname t))
600 575
601(defconst vc-bzr-unload-hook
602 (lambda ()
603 (setq vc-handled-backends (delq 'Bzr vc-handled-backends))
604 (remove-hook 'vc-post-command-functions 'vc-bzr-post-command-function)))
605 576
606(provide 'vc-bzr) 577(provide 'vc-bzr)
607;; arch-tag: 8101bad8-4e92-4e7d-85ae-d8e08b4e7c06 578;; arch-tag: 8101bad8-4e92-4e7d-85ae-d8e08b4e7c06
diff --git a/man/ChangeLog b/man/ChangeLog
index 911c68e9cbc..7438fbad338 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -20,6 +20,10 @@
20 (Quick Calculator Mode): Mention that binary format will 20 (Quick Calculator Mode): Mention that binary format will
21 be displayed. 21 be displayed.
22 22
232007-08-14 Katsumi Yamaoka <yamaoka@jpl.org>
24
25 * gnus.texi (Selecting a Group): Mention gnus-maximum-newsgroup.
26
232007-08-10 Katsumi Yamaoka <yamaoka@jpl.org> 272007-08-10 Katsumi Yamaoka <yamaoka@jpl.org>
24 28
25 * gnus.texi (NNTP): Mention nntp-xref-number-is-evil. 29 * gnus.texi (NNTP): Mention nntp-xref-number-is-evil.
diff --git a/man/gnus.texi b/man/gnus.texi
index 94144b65e3f..7cabf674102 100644
--- a/man/gnus.texi
+++ b/man/gnus.texi
@@ -2153,6 +2153,24 @@ most recently will be fetched.
2153@code{gnus-large-newsgroup}, but is only used for ephemeral 2153@code{gnus-large-newsgroup}, but is only used for ephemeral
2154newsgroups. 2154newsgroups.
2155 2155
2156@vindex gnus-maximum-newsgroup
2157In groups in some news servers, there might be a big gap between a few
2158very old articles that will never be expired and the recent ones. In
2159such a case, the server will return the data like @code{(1 . 30000000)}
2160for the @code{LIST ACTIVE group} command, for example. Even if there
2161are actually only the articles 1-10 and 29999900-30000000, Gnus doesn't
2162know it at first and prepares for getting 30000000 articles. However,
2163it will consume hundreds megabytes of memories and might make Emacs get
2164stuck as the case may be. If you use such news servers, set the
2165variable @code{gnus-maximum-newsgroup} to a positive number. The value
2166means that Gnus ignores articles other than this number of the latest
2167ones in every group. For instance, the value 10000 makes Gnus get only
2168the articles 29990001-30000000 (if the latest article number is 30000000
2169in a group). Note that setting this variable to a number might prevent
2170you from reading very old articles. The default value of the variable
2171@code{gnus-maximum-newsgroup} is @code{nil}, which means Gnus never
2172ignores old articles.
2173
2156@vindex gnus-select-group-hook 2174@vindex gnus-select-group-hook
2157@vindex gnus-auto-select-first 2175@vindex gnus-auto-select-first
2158@vindex gnus-auto-select-subject 2176@vindex gnus-auto-select-subject
diff --git a/nt/ChangeLog b/nt/ChangeLog
index deea04bff17..82771f836c6 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,7 @@
12007-08-14 Dhuvra Krishnamurthy <dhuvrakm@gmail.com> (tiny change)
2
3 * makefile.w32-in (bootstrap-nmake): Change directories once more.
4
12007-07-25 Glenn Morris <rgm@gnu.org> 52007-07-25 Glenn Morris <rgm@gnu.org>
2 6
3 * Relicense all FSF files to GPLv3 or later. 7 * Relicense all FSF files to GPLv3 or later.
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in
index e7a10698ea2..05e9a665879 100644
--- a/nt/makefile.w32-in
+++ b/nt/makefile.w32-in
@@ -153,6 +153,7 @@ bootstrap-nmake: addsection cmdproxy
153 cd ..\src 153 cd ..\src
154 $(MAKE) $(MFLAGS) bootstrap 154 $(MAKE) $(MFLAGS) bootstrap
155 $(MAKE) $(MFLAGS) bootstrap-clean 155 $(MAKE) $(MFLAGS) bootstrap-clean
156 cd ..\nt
156 $(CP) $(BLD)/cmdproxy.exe ../bin 157 $(CP) $(BLD)/cmdproxy.exe ../bin
157 cd ..\lisp 158 cd ..\lisp
158 $(MAKE) $(MFLAGS) SHELL=$(SHELLTYPE) bootstrap 159 $(MAKE) $(MFLAGS) SHELL=$(SHELLTYPE) bootstrap