(Vcoding_system_alist): Deleted.
[bpt/emacs.git] / lisp / informat.el
index 4296b2f..67c915f 100644 (file)
@@ -18,8 +18,9 @@
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to
-;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
 
 ;;; Code:
 
          (goto-char (point-min))
          (if (search-forward "\^_\nIndirect:\n" nil t)
              (message "Cannot tagify split info file")
-           (let ((regexp "Node:[ \t]*\\([^,\n\t]\\)*[,\t\n]")
+           (let ((regexp "Node:[ \t]*\\([^,\n\t]*\\)[,\t\n]")
                  (case-fold-search t)
                  list)
              (while (search-forward "\n\^_" nil t)
-               (forward-line 1)
-               (let ((beg (point)))
-                 (forward-line 1)
+               ;; We want the 0-origin character position of the ^_.
+               ;; That is the same as the Emacs (1-origin) position
+               ;; of the newline before it.
+               (let ((beg (match-beginning 0)))
+                 (forward-line 2)
                  (if (re-search-backward regexp beg t)
                      (setq list
-                           (cons (list (buffer-substring
+                           (cons (list (buffer-substring-no-properties
                                          (match-beginning 1)
                                          (match-end 1))
                                        beg)
@@ -68,7 +71,8 @@
                      (delete-region (point) end)))
                (goto-char (point-max))
                (insert "\^_\f\nTag table:\n")
-               (move-marker Info-tag-table-marker (point))
+               (if (eq major-mode 'info-mode)
+                   (move-marker Info-tag-table-marker (point)))
                (setq list (nreverse list))
                (while list
                  (insert "Node: " (car (car list)) ?\177)
@@ -141,7 +145,7 @@ contains just the tag table and a directory of subfiles."
     (while subfiles
       (goto-char start)
       (insert (nth 1 (car subfiles))
-             (format ": %d" (car (car subfiles)))
+             (format ": %d" (1- (car (car subfiles))))
              "\n")
       (setq subfiles (cdr subfiles)))
     (goto-char start)
@@ -173,7 +177,7 @@ Check that every node pointer points to an existing node."
            (forward-line 1)
            (if (re-search-backward regexp beg t)
                (let ((name (downcase
-                             (buffer-substring
+                             (buffer-substring-no-properties
                                (match-beginning 1)
                                (progn
                                  (goto-char (match-end 1))
@@ -206,7 +210,7 @@ Check that every node pointer points to an existing node."
                  (search-forward "\n\^_" nil 'move)
                  (narrow-to-region beg (point))
                  (setq thisnode (downcase
-                                  (buffer-substring
+                                  (buffer-substring-no-properties
                                     (match-beginning 1)
                                     (progn
                                       (goto-char (match-end 1))
@@ -300,7 +304,7 @@ Check that every node pointer points to an existing node."
     (if (= (following-char) ?\()
        nil
       (setq name
-           (buffer-substring
+           (buffer-substring-no-properties
             (point)
             (progn
              (skip-chars-forward "^,\t\n")
@@ -336,7 +340,7 @@ Check that every node pointer points to an existing node."
               (setq tem (cdr tem)))
             (goto-char (1+ start))
             (while (looking-at ".*Node: \\(.*\\)\177\\([0-9]+\\)$")
-              (setq tem (downcase (buffer-substring
+              (setq tem (downcase (buffer-substring-no-properties
                                     (match-beginning 1)
                                     (match-end 1))))
               (setq tem (assoc tem allnodes))
@@ -346,8 +350,10 @@ Check that every node pointer points to an existing node."
                                 (setq tem (- (car (cdr (cdr tem)))
                                              (read (current-buffer))))
                                 (if (> tem 0) tem (- tem)))))
-                  (throw 'losing 'y)))
-            (forward-line 1))
+                  (throw 'losing 'y))
+              (forward-line 1)))
+          (if (looking-at "\^_\n")
+              (forward-line 1))
           (or (looking-at "End tag table\n")
               (throw 'losing 'z))
           nil))))
@@ -398,7 +404,7 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\""
                        ((< (point-max) 30000)
                         (message "%s too small to bother tagifying" file))
                        (t
-                        (Info-tagify file))))
+                        (Info-tagify))))
                (let ((loss-name " *problems in info file*"))
                  (message "Checking validity of info file %s..." file)
                  (if (get-buffer loss-name)
@@ -410,7 +416,8 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\""
                    (message ">> PROBLEMS IN INFO FILE %s" file)
                    (save-excursion
                      (set-buffer loss-name)
-                     (princ (buffer-substring (point-min) (point-max))))
+                     (princ (buffer-substring-no-properties
+                             (point-min) (point-max))))
                    (message "----------------------------------------------------------------------")
                    (setq error 1 lose t)))
                (if (and (buffer-modified-p)