changeset 83106:8f4a3987f4a8

Merged in changes from CVS trunk. Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-226 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-227 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-228 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-229 Remove TeX output files from the archive git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-146
author Karoly Lorentey <lorentey@elte.hu>
date Mon, 19 Apr 2004 08:37:31 +0000
parents efc02a84dfbb (current diff) f0e658f3bd2e (diff)
children 04f66a874a01
files etc/survival.dvi etc/survival.log lib-src/rcs2log lisp/ChangeLog
diffstat 16 files changed, 189 insertions(+), 115 deletions(-) [+]
line wrap: on
line diff
--- a/etc/ChangeLog	Sun Apr 18 02:24:18 2004 +0000
+++ b/etc/ChangeLog	Mon Apr 19 08:37:31 2004 +0000
@@ -1,3 +1,10 @@
+2004-04-18  Juri Linkov  <juri@jurta.org>
+
+	* TUTORIAL.fr, TUTORIAL.pl, TUTORIAL.ru, TUTORIAL.sl, TUTORIAL.sv
+	* TUTORIAL.th: Add sentence-end-double-space: nil.
+
+	* TUTORIAL.it, TUTORIAL.nl, TUTORIAL.sv: Add coding: latin-1.
+
 2004-04-16  David Kastrup  <dak@gnu.org>
 
 	* TUTORIAL.ru: Changes by Alex Ott checked in.
Binary file etc/survival.dvi has changed
--- a/etc/survival.log	Sun Apr 18 02:24:18 2004 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-This is TeX, Version 3.14159 (Web2C 7.3.1) (format=tex 2000.12.11)  12 DEC 2000 10:16
-**survival
-(survival.tex
-\intercolumnskip=\dimen16
-\leftcolumn=\box16
-\defwidth=\dimen17
-\raggedstretch=\dimen18
-\raggedparfill=\skip18
- [1] [2] )
-Output written on survival.dvi (2 pages, 11216 bytes).
--- a/lib-src/ChangeLog	Sun Apr 18 02:24:18 2004 +0000
+++ b/lib-src/ChangeLog	Mon Apr 19 08:37:31 2004 +0000
@@ -1,3 +1,9 @@
+2004-04-17  Paul Eggert  <eggert@gnu.org>
+
+	* rcs2log (Help): Clarify wording of the usage message.
+	Problem reported by Alan Mackenzie in
+	<http://mail.gnu.org/archive/html/bug-gnu-emacs/2004-04/msg00188.html>.
+
 2004-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* make-docfile.c (xmalloc): Fix return type.
--- a/lib-src/rcs2log	Sun Apr 18 02:24:18 2004 +0000
+++ b/lib-src/rcs2log	Mon Apr 19 08:37:31 2004 +0000
@@ -2,27 +2,50 @@
 
 # RCS to ChangeLog generator
 
-# Generate a change log prefix from RCS files (perhaps in the CVS repository)
-# and the ChangeLog (if any).
-# Output the new prefix to standard output.
-# You can edit this prefix by hand, and then prepend it to ChangeLog.
+Help='
+Generate ChangeLog entries from RCS files (perhaps in a CVS repository)
+and the ChangeLog file (if any).  An RCS file typically has a name
+ending in ",v", and represents the entire history of a file that is
+under revision control.  The ChangeLog file logs entries for changes,
+in reverse chronological order.
+
+Generate entries for changes entered into RCS (or CVS) more recently
+than the newest existing entry in the ChangeLog file.  You can then
+edit these entries by hand, and prepend them to the ChangeLog file.
+
+Output the resulting ChangeLog entries to standard output.
+Each entry looks something like this:
+
+2004-04-17  Paul Eggert  <eggert@gnu.org>
 
-# Ignore log entries that start with `#'.
-# Clump together log entries that start with `{topic} ',
-# where `topic' contains neither white space nor `}'.
+	* rcs2log (Help): Clarify wording of the usage message.
+	Problem reported by Alan Mackenzie in
+	<http://mail.gnu.org/archive/html/bug-gnu-emacs/2004-04/msg00188.html>.
 
-Help='The default FILEs are the files registered under the working directory.
+ChangeLog entries contain the current date, full name, email address
+including hostname, the name of the affected file, and commentary.
+RCS and CVS logs lack full names and email addresses, so they are
+inferred from login names using a heuristic that can be overridden
+via the -u option.
+
+Ignore log entries that start with "#".
+Clump together log entries that start with "{topic} ",
+where "topic" contains neither white space nor "}".
+
+If no FILE is specified, use all files under the working directory
+that are maintained under version control.
+
 Options:
 
-  -c CHANGELOG  Output a change log prefix to CHANGELOG (default ChangeLog).
+  -c FILE  Output ChangeLog entries for FILE (default ChangeLog).
   -h HOSTNAME  Use HOSTNAME in change log entries (default current host).
   -i INDENT  Indent change log lines by INDENT spaces (default 8).
   -l LENGTH  Try to limit log lines to LENGTH characters (default 79).
-  -L FILE  Use rlog-format FILE for source of logs.
+  -L FILE  Use FILE (same format as "rlog") for source of logs.
   -R  If no FILEs are given and RCS is used, recurse through working directory.
-  -r OPTION  Pass OPTION to subsidiary log command.
+  -r OPTION  Pass OPTION to subsidiary command (either "rlog" or "cvs -q log").
   -t TABWIDTH  Tab stops are every TABWIDTH characters (default 8).
-  -u "LOGIN<tab>FULLNAME<tab>MAILADDR"  Assume LOGIN has FULLNAME and MAILADDR.
+  -u "LOGIN<tab>FULLNAME<tab>EMAILADDR"  LOGIN has FULLNAME and EMAILADDR.
   -v  Append RCS revision to file names in log lines.
   --help  Output help.
   --version  Output version number.
--- a/lisp/ChangeLog	Sun Apr 18 02:24:18 2004 +0000
+++ b/lisp/ChangeLog	Mon Apr 19 08:37:31 2004 +0000
@@ -1,3 +1,32 @@
+2004-04-18  Juri Linkov  <juri@jurta.org>
+
+	* info.el (Info-find-file, Info-find-node-2): Add history and toc.
+	(Info-find-node-2): Simplify error message.
+	(Info-insert-dir): Use Info-following-node-name.
+	(Info-goto-node): Remove *info-history* and *info-toc*.
+	(Info-history): Create a node of the virtual history file.
+	(Info-toc): Create a node of the virtual toc file.
+	(Info-insert-toc): New arg `curr-file' for reference file names.
+	(info-apropos): Remove redundant var binding for temp-file.
+	(Info-index, Info-index-next, Info-mode): Doc fix.
+	(Info-goto-emacs-command-node): Don't jump to *info* from
+	non-*info* Info buffers.
+	(Info-fontify-node): Don't show the file name of external
+	references if `Info-hide-note-references' is `hide'.  Don't hide
+	newlines at the end of paragraphs.
+
+	* international/mule-diag.el (list-input-methods):
+	Fix args to help-xref-button.
+
+2004-04-18  Andreas Schwab  <schwab@suse.de>
+
+	* progmodes/compile.el (compilation-start): Set window start to
+	point-min if compilation-scroll-output is nil.
+
+2004-04-18  John Wiegley  <johnw@newartisans.com>
+
+	* iswitchb.el (iswitchb-completions): Removed dependency on cl.
+
 2004-04-18  Nick Roberts  <nick@nick.uklinux.net>
 
 	* progmodes/gdb-ui.el (gdb-goto-info): Require 'info.
--- a/lisp/info.el	Sun Apr 18 02:24:18 2004 +0000
+++ b/lisp/info.el	Mon Apr 19 08:37:31 2004 +0000
@@ -480,7 +480,7 @@
 	  (Info-goto-node file)
 	(Info-goto-node (concat "(" file ")")))
     (if (zerop (buffer-size))
-      (Info-directory))))
+        (Info-directory))))
 
 ;;;###autoload
 (defun info-emacs-manual ()
@@ -535,11 +535,15 @@
   (if (stringp filename)
       (let (temp temp-downcase found)
         (setq filename (substitute-in-file-name filename))
-	(cond 
+	(cond
 	 ((string= (downcase filename) "dir")
 	  (setq found t))
 	 ((string= filename "apropos")
 	  (setq found 'apropos))
+	 ((string= filename "history")
+	  (setq found 'history))
+	 ((string= filename "toc")
+	  (setq found 'toc))
 	 (t
 	  (let ((dirs (if (string-match "^\\./" filename)
                           ;; If specified name starts with `./'
@@ -742,6 +746,10 @@
 		(Info-insert-dir))
 	       ((eq filename 'apropos)
 		(insert-buffer-substring " *info-apropos*"))
+	       ((eq filename 'history)
+		(insert-buffer-substring " *info-history*"))
+	       ((eq filename 'toc)
+		(insert-buffer-substring " *info-toc*"))
 	       (t
                 (info-insert-file-contents filename nil)
                 (setq default-directory (file-name-directory filename))))
@@ -782,6 +790,8 @@
 		    (cond
 		     ((eq filename t) "dir")
 		     ((eq filename 'apropos) "apropos")
+		     ((eq filename 'history) "history")
+		     ((eq filename 'toc) "toc")
 		     (t filename)))
 	      ))
         ;; Use string-equal, not equal, to ignore text props.
@@ -843,8 +853,8 @@
 		(when pos
 		  (goto-char pos)
 		  (throw 'foo t))
-		(error "No such anchor in tag table or node in tag table or file: %s"
-		       nodename)))
+                ;; No such anchor in tag table or node in tag table or file
+		(error "No such node or anchor: %s" nodename)))
 
 	    (Info-select-node)
 	    (goto-char (point-min))
@@ -982,9 +992,7 @@
 		    nodename end)
 		(re-search-backward "^\^_")
 		(search-forward "Node: ")
-		(setq nodename
-		      (and (looking-at (Info-following-node-name-re))
-			   (match-string 1)))
+		(setq nodename (Info-following-node-name))
 		(search-forward "\n\^_" nil 'move)
 		(beginning-of-line)
 		(setq end (point))
@@ -1298,8 +1306,6 @@
   (if fork
       (set-buffer
        (clone-buffer (concat "*info-" (if (stringp fork) fork nodename) "*") t)))
-  (if (member (buffer-name) '("*info-history*" "*info-toc*"))
-      (switch-to-buffer "*info*"))
   (let (filename)
     (string-match "\\s *\\((\\s *\\([^\t)]*\\)\\s *)\\s *\\|\\)\\(.*\\)"
 		  nodename)
@@ -1616,75 +1622,60 @@
   (interactive)
   (Info-find-node "dir" "top"))
 
-;;;###autoload (add-hook 'same-window-buffer-names "*info-history*")
-
 (defun Info-history ()
-  "Create the buffer *info-history* with a menu of visited nodes."
+  "Go to a node with a menu of visited nodes."
   (interactive)
   (let ((curr-file Info-current-file)
         (curr-node Info-current-node)
         p)
-    (pop-to-buffer
-     (with-current-buffer (get-buffer-create "*info-history*")
-       (let ((inhibit-read-only t))
-         (erase-buffer)
-         (goto-char (point-min))
-         (insert "Node: History\n\n")
-         (insert "Recently Visited Nodes\n**********************\n\n")
-         (insert "* Menu:\n\n")
-         (let ((hl Info-history-list))
-           (while hl
-             (let ((file (nth 0 (car hl)))
-                   (node (nth 1 (car hl))))
-               (if (and (string-equal file curr-file)
-                        (string-equal node curr-node))
-                   (setq p (point)))
-               (insert "* " node ": (" (file-name-nondirectory file)
-                       ")" node ".\n"))
-             (setq hl (cdr hl))))
-         (or (eq major-mode 'Info-mode) (Info-mode))
-         (setq Info-current-file "info-history")
-         (setq Info-current-node "Info History")
-         (Info-set-mode-line)
-         (if (not (bobp)) (Info-fontify-node))
-         (current-buffer))))
+    (with-current-buffer (get-buffer-create " *info-history*")
+      (let ((inhibit-read-only t))
+        (erase-buffer)
+        (goto-char (point-min))
+        (insert "\n\nFile: history Node: Top, Up: (dir)\n\n")
+        (insert "Recently Visited Nodes\n**********************\n\n")
+        (insert "* Menu:\n\n")
+        (let ((hl (delete '("history" "Top") Info-history-list)))
+          (while hl
+            (let ((file (nth 0 (car hl)))
+                  (node (nth 1 (car hl))))
+              (if (and (string-equal file curr-file)
+                       (string-equal node curr-node))
+                  (setq p (point)))
+              (insert "* " node ": (" (file-name-nondirectory file)
+                      ")" node ".\n"))
+            (setq hl (cdr hl))))))
+    (Info-find-node "history" "Top")
     (goto-char (or p (point-min)))))
 
-;;;###autoload (add-hook 'same-window-buffer-names "*info-toc*")
-
 (defun Info-toc ()
-  "Create the buffer *info-toc* with Info file's table of contents."
+  "Go to a node with table of contents of the current Info file."
   (interactive)
   (let ((curr-file Info-current-file)
         (curr-node Info-current-node)
         p)
-    (pop-to-buffer
-     (with-current-buffer (get-buffer-create "*info-toc*")
-       (if (not (equal Info-current-file curr-file))
-           (let ((inhibit-read-only t)
-                 (node-list (Info-build-toc curr-file)))
-             (erase-buffer)
-             (goto-char (point-min))
-             (insert "Node: Contents\n\n")
-             (insert "Table of Contents\n*****************\n\n")
-             (insert "*Note Top::\n")
-             (Info-insert-toc
-              (nth 2 (assoc "Top" node-list)) ; get Top nodes
-              node-list 0)
-             (or (eq major-mode 'Info-mode) (Info-mode))
-             (setq Info-current-file curr-file)
-             (setq Info-current-node "Contents")
-             (Info-set-mode-line)))
-       (if (not (bobp))
-           (let ((Info-hide-note-references 'hide))
-             (Info-fontify-node)))
-       (goto-char (point-min))
-       (if (setq p (search-forward (concat "*Note " curr-node "::") nil t))
-           (setq p (- p (length curr-node) 2)))
-       (current-buffer)))
+    (with-current-buffer (get-buffer-create " *info-toc*")
+      (let ((inhibit-read-only t)
+            (node-list (Info-build-toc curr-file)))
+        (erase-buffer)
+        (goto-char (point-min))
+        (insert "\n\nFile: toc Node: Top, Up: (dir)\n\n")
+        (insert "Table of Contents\n*****************\n\n")
+        (insert "*Note Top::\n")
+        (Info-insert-toc
+         (nth 2 (assoc "Top" node-list)) ; get Top nodes
+         node-list 0 (file-name-nondirectory curr-file)))
+      (if (not (bobp))
+          (let ((Info-hide-note-references 'hide)
+                (Info-fontify-visited-nodes nil))
+            (Info-fontify-node)))
+      (goto-char (point-min))
+      (if (setq p (search-forward (concat "*Note " curr-node ":") nil t))
+          (setq p (- p (length curr-node) 2))))
+    (Info-find-node "toc" "Top")
     (goto-char (or p (point-min)))))
 
-(defun Info-insert-toc (nodes node-list level)
+(defun Info-insert-toc (nodes node-list level curr-file)
   "Insert table of contents with references to nodes."
   (let ((section "Top"))
     (while nodes
@@ -1692,8 +1683,8 @@
         (unless (member (nth 1 node) (list nil section))
           (insert (setq section (nth 1 node)) "\n"))
         (insert (make-string level ?\t))
-        (insert "*Note " (car nodes) "::\n")
-        (Info-insert-toc (nth 2 node) node-list (1+ level))
+        (insert "*Note " (car nodes) ": (" curr-file ")" (car nodes) ".\n")
+        (Info-insert-toc (nth 2 node) node-list (1+ level) curr-file)
         (setq nodes (cdr nodes))))))
 
 (defun Info-build-toc (file)
@@ -2320,7 +2311,7 @@
 nodes whose names also contain the word \"Index\".
 If there are no exact matches to the specified topic, this chooses
 the first match which is a case-insensitive substring of a topic.
-Use the `,' command to see the other matches.
+Use the \\<Info-mode-map>\\[Info-index-next] command to see the other matches.
 Give a blank topic name to go to the Index node itself."
   (interactive
    (list
@@ -2375,7 +2366,7 @@
 	  (Info-index-next 0)))))
 
 (defun Info-index-next (num)
-  "Go to the next matching index item from the last `i' command."
+  "Go to the next matching index item from the last \\<Info-mode-map>\\[Info-index] command."
   (interactive "p")
   (or Info-index-alternatives
       (error "No previous `i' command"))
@@ -2433,7 +2424,7 @@
 	  (ohist-list Info-history-list)
 	  (current-node Info-current-node)
 	  (current-file Info-current-file)
-	  manuals matches temp-file node)
+	  manuals matches node)
       (let ((Info-fontify-maximum-menu-size 0)
 	    Info-use-header-lines
 	    Info-hide-note-references)
@@ -2855,7 +2846,7 @@
 \\[Info-history]	Go to the history buffer.
 \\[Info-toc]	Go to the buffer with a table of contents.
 \\[Info-index]	Look up a topic in this file's Index and move to that node.
-\\[Info-index-next]	(comma) Move to the next match from a previous `i' command.
+\\[Info-index-next]	(comma) Move to the next match from a previous \\<Info-mode-map>\\[Info-index] command.
 \\[Info-top-node]	Go to the Top node of this file.
 \\[Info-final-node]	Go to the final node in this file.
 \\[Info-backward-node]	Go backward one node, considering all nodes as forming one sequence.
@@ -2886,7 +2877,7 @@
 \\[Info-search-case-sensitively]	Search through this Info file
 	  for specified regexp case-sensitively.
 \\[Info-search-next]	Search for another occurrence of regexp
-	  from a previous `Info-search' command.
+	  from a previous \\<Info-mode-map>\\[Info-search] command.
 \\[Info-next-reference]	Move cursor to next cross-reference or menu item.
 \\[Info-prev-reference]	Move cursor to previous cross-reference or menu item."
   (kill-all-local-variables)
@@ -3080,9 +3071,7 @@
 	  ;; Get Info running, and pop to it in another window.
 	  (save-window-excursion
 	    (info))
-	  ;; FIXME It would be cool if this could use a buffer other
-	  ;; than *info*.
-	  (pop-to-buffer "*info*")
+	  (or (eq major-mode 'Info-mode) (pop-to-buffer "*info*"))
 	  ;; Bind Info-history to nil, to prevent the last Index node
 	  ;; visited by Info-find-emacs-command-nodes from being
 	  ;; pushed onto the history.
@@ -3377,14 +3366,20 @@
                 (add-text-properties (match-beginning 3) (match-end 3)
                                      '(invisible t front-sticky nil rear-nonsticky t))
                 ;; Unhide the file name of the external reference in parens
-                (if (match-string 6)
+                (if (and (match-string 6) (not (eq Info-hide-note-references 'hide)))
                     (remove-text-properties (match-beginning 6) (match-end 6)
                                             '(invisible t front-sticky nil rear-nonsticky t)))
                 ;; Unhide newline because hidden newlines cause too long lines
                 (save-match-data
-                  (let ((start3 (match-beginning 3)))
-                    (if (string-match "\n[ \t]*" (match-string 3))
-                        (remove-text-properties (+ start3 (match-beginning 0)) (+ start3 (match-end 0))
+                  (let ((beg3 (match-beginning 3))
+                        (end3 (match-end 3)))
+                    (if (and (string-match "\n[ \t]*" (match-string 3))
+                             (not (save-match-data
+                                    (save-excursion
+                                      (goto-char (1+ end3))
+                                      (looking-at "[.)]*$")))))
+                        (remove-text-properties (+ beg3 (match-beginning 0))
+                                                (+ beg3 (match-end 0))
                                                 '(invisible t front-sticky nil rear-nonsticky t))))))
               (when (and Info-refill-paragraphs Info-hide-note-references)
                 (push (set-marker (make-marker) start)
--- a/lisp/international/mule-diag.el	Sun Apr 18 02:24:18 2004 +0000
+++ b/lisp/international/mule-diag.el	Mon Apr 19 08:37:31 2004 +0000
@@ -1181,9 +1181,7 @@
 	(goto-char (point-min))
 	(while (re-search-forward
 		"^  \\([^ ]+\\) (`.*' in mode line)$" nil t)
-	  (help-xref-button 1 #'help-input-method
-				(match-string 1)
-				"mouse-2: describe this method"))))))
+	  (help-xref-button 1 'help-input-method (match-string 1)))))))
 
 (defun list-input-methods-1 ()
   (if (not input-method-alist)
--- a/lisp/iswitchb.el	Sun Apr 18 02:24:18 2004 +0000
+++ b/lisp/iswitchb.el	Mon Apr 19 08:37:31 2004 +0000
@@ -1244,10 +1244,16 @@
 		    (> (length comps) iswitchb-max-to-show))
 	       (setq comps
 		     (append
-		      (subseq comps 0 (/ iswitchb-max-to-show 2))
+		      (let ((res nil)
+			    (comp comps)
+			    (end (/ iswitchb-max-to-show 2)))
+			(while (>= (setq end (1- end)) 0)
+			  (setq res (cons (car comp) res)
+				comp (cdr comp)))
+			(nreverse res))
 		      (list "...")
-		      (subseq comps (- (length comps)
-				       (/ iswitchb-max-to-show 2))))))
+		      (nthcdr (- (length comps)
+				 (/ iswitchb-max-to-show 2)) comps))))
 	   (let* (
 		  ;;(most (try-completion name candidates predicate))
 		  (most nil)
--- a/lisp/progmodes/compile.el	Sun Apr 18 02:24:18 2004 +0000
+++ b/lisp/progmodes/compile.el	Mon Apr 19 08:37:31 2004 +0000
@@ -913,7 +913,9 @@
 	   'compilation-revert-buffer)
       (set-window-start outwin (point-min))
       (or (eq outwin (selected-window))
-	  (set-window-point outwin (point)))
+	  (set-window-point outwin (if compilation-scroll-output
+				       (point)
+				     (point-min))))
       ;; The setup function is called before compilation-set-window-height
       ;; so it can set the compilation-window-height buffer locally.
       (if compilation-process-setup-function
--- a/lispref/ChangeLog	Sun Apr 18 02:24:18 2004 +0000
+++ b/lispref/ChangeLog	Mon Apr 19 08:37:31 2004 +0000
@@ -1,3 +1,7 @@
+2004-04-18  Jesper Harder  <harder@ifa.au.dk>
+
+	* tips.texi (Coding Conventions): defopt -> defcustom.
+
 2004-04-16  Luc Teirlinck  <teirllm@auburn.edu>
 
 	* sequences.texi: Various clarifications.
--- a/lispref/tips.texi	Sun Apr 18 02:24:18 2004 +0000
+++ b/lispref/tips.texi	Mon Apr 19 08:37:31 2004 +0000
@@ -254,7 +254,7 @@
 are constructed.  It is best for maintenance when the name of the
 function or variable being defined is given explicitly in the source
 code, as the second element of the list---as it is when you use
-@code{defun}, @code{defalias}, @code{defvar} and @code{defopt}.
+@code{defun}, @code{defalias}, @code{defvar} and @code{defcustom}.
 
 @item
 Please keep the names of your Emacs Lisp source files to 13 characters
--- a/man/ChangeLog	Sun Apr 18 02:24:18 2004 +0000
+++ b/man/ChangeLog	Mon Apr 19 08:37:31 2004 +0000
@@ -1,3 +1,7 @@
+2004-04-18  Juri Linkov  <juri@jurta.org>
+
+	* fixit.texi (Spelling): Remove file extension from ispell xref.
+
 2004-04-15  Kim F. Storm  <storm@cua.dk>
 
 	* cmdargs.texi (Initial Options): Add -Q.
@@ -101,13 +105,11 @@
 	* cmdargs.texi (Action Arguments): Add alias --find-file.  Add
 	--directory, --help, --version.  Move text about command-line-args
 	to Command Arguments.
-	(Initial Options): Remove alias -batch.  Add @cindex for --script.
-	Fix @cindex for -q.  Add --no-desktop.  Add alias --no-multibyte,
-	--no-unibyte.
+	(Initial Options): Add @cindex for --script.  Fix @cindex for -q.
+	Add --no-desktop.  Add alias --no-multibyte, --no-unibyte.
 	(Window Size X): Join -g and --geometry.  Add @cindex.
 	(Borders X): Fix @cindex for -ib.  Add @cindex for -bw.
 	(Title X): Remove alias -title.
-	(Icons X): Remove alias -iconic.
 	(Misc X): New node.
 
 2004-02-17  Karl Berry  <karl@gnu.org>
--- a/man/fixit.texi	Sun Apr 18 02:24:18 2004 +0000
+++ b/man/fixit.texi	Mon Apr 19 08:37:31 2004 +0000
@@ -153,7 +153,7 @@
 word or of a portion of a buffer.  These commands work with the spelling
 checker program Ispell, which is not part of Emacs.
 @ifinfo
-@xref{Top, Ispell, Overview ispell, ispell.info, The Ispell Manual}.
+@xref{Top, Ispell, Overview ispell, ispell, The Ispell Manual}.
 @end ifinfo
 
 @table @kbd
--- a/src/ChangeLog	Sun Apr 18 02:24:18 2004 +0000
+++ b/src/ChangeLog	Mon Apr 19 08:37:31 2004 +0000
@@ -1,3 +1,8 @@
+2004-04-18  Jason Rumney  <jasonr@gnu.org>
+
+	* w32select.c (Fw32_set_clipboard_data): Get sequence number
+	after closing the clipboard.
+
 2004-04-16  Luc Teirlinck  <teirllm@auburn.edu>
 
 	* buffer.c (Fbuffer_base_buffer): Doc fix.
--- a/src/w32select.c	Sun Apr 18 02:24:18 2004 +0000
+++ b/src/w32select.c	Mon Apr 19 08:37:31 2004 +0000
@@ -259,11 +259,18 @@
 
   ok = EmptyClipboard () && SetClipboardData (CF_TEXT, htext);
 
+  CloseClipboard ();
+
+  /* Common sense says to read the sequence number inside the
+     OpenClipboard/ CloseClipboard block to avoid race conditions
+     where another app puts something on the clipboard straight after
+     us. But experience suggests that the sequence number from the
+     SetClipboardData is not allocated until we close the clipboard!
+     Since clipboard operations are normally user-driven, the race
+     condition is probably not going to really happen.  */
   if (clipboard_sequence_fn)
     last_clipboard_sequence_number = clipboard_sequence_fn ();
 
-  CloseClipboard ();
-
   if (ok) goto done;
 
  error: