X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/3a801d0c71755fad1c33585e7ed54d9dc240999c..02ba47237b8292eadadcdedb3ceed5fef1cc98d9:/lisp/informat.el diff --git a/lisp/informat.el b/lisp/informat.el index 4296b2fcd3..67c915f9be 100644 --- a/lisp/informat.el +++ b/lisp/informat.el @@ -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: @@ -44,16 +45,18 @@ (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)