edebug specs for guile-elisp
[bpt/emacs.git] / lisp / informat.el
index 0fd12f3..c28d1ff 100644 (file)
@@ -1,9 +1,8 @@
 ;;; informat.el --- info support functions package for Emacs
 
-;; Copyright (C) 1986, 2001, 2002, 2003, 2004, 2005,
-;;   2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1986, 2001-2014 Free Software Foundation, Inc.
 
-;; Maintainer: FSF
+;; Maintainer: emacs-devel@gnu.org
 ;; Keywords: help
 
 ;; This file is part of GNU Emacs.
 
 (declare-function texinfo-format-refill "texinfmt" ())
 
+;; From texinfmt.el
+(defvar texinfo-command-start)
+(defvar texinfo-command-end)
+
 ;;;###autoload
 (defun Info-tagify (&optional input-buffer-name)
   "Create or update Info file tag table in current buffer or in a region."
   ;; save-restrictions would not work
   ;; because it records the old max relative to the end.
   ;; We record it relative to the beginning.
-  (if input-buffer-name
-      (message "Tagifying region in %s ..." input-buffer-name)
-      (message
-       "Tagifying %s ..."  (file-name-nondirectory (buffer-file-name))))
   (let ((omin (point-min))
        (omax (point-max))
        (nomax (= (point-max) (1+ (buffer-size))))
-       (opoint (point)))
+       (opoint (point))
+       (msg (format "Tagifying %s..."
+                    (cond (input-buffer-name
+                           (format "region in %s" input-buffer-name))
+                          (buffer-file-name
+                           (file-name-nondirectory (buffer-file-name)))
+                          (t "buffer")))))
+    (message "%s" msg)
     (unwind-protect
     (progn
       (widen)
                (insert "\^_\nEnd tag table\n")))))
       (goto-char opoint)
       (narrow-to-region omin (if nomax (1+ (buffer-size))
-                              (min omax (point-max))))))
-  (if input-buffer-name
-      (message "Tagifying region in %s done" input-buffer-name)
-      (message
-       "Tagifying %s done"  (file-name-nondirectory (buffer-file-name)))))
+                              (min omax (point-max)))))
+    (message "%sdone" msg)))
 
 \f
+;;;###autoload
+(defcustom Info-split-threshold 262144
+  "The number of characters by which `Info-split' splits an info file."
+  :type 'integer
+  :version "23.1"
+  :group 'texinfo)
+
 ;;;###autoload
 (defun Info-split ()
   "Split an info file into an indirect file plus bounded-size subfiles.
-Each subfile will be up to 50,000 characters plus one node.
+Each subfile will be up to the number of characters that
+`Info-split-threshold' specifies, plus one node.
 
 To use this command, first visit a large Info file that has a tag
 table.  The buffer is modified into a (small) indirect info file which
@@ -167,7 +178,7 @@ file name.  The indirect file still functions as an Info file, but it
 contains just the tag table and a directory of subfiles."
 
   (interactive)
-  (if (< (buffer-size) 70000)
+  (if (< (buffer-size) (+ 20000 Info-split-threshold))
       (error "This is too small to be worth splitting"))
   (goto-char (point-min))
   (search-forward "\^_")
@@ -192,7 +203,7 @@ contains just the tag table and a directory of subfiles."
       (narrow-to-region (point-min) (point))
       (goto-char (point-min))
       (while (< (1+ (point)) (point-max))
-       (goto-char (min (+ (point) 50000) (point-max)))
+       (goto-char (min (+ (point) Info-split-threshold) (point-max)))
        (search-forward "\^_" nil 'move)
        (setq subfiles
              (cons (list (+ start chars-deleted)
@@ -489,8 +500,7 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\""
                      nil ;(message "Checking validity of info file %s... OK" file)
                    (message "----------------------------------------------------------------------")
                    (message ">> PROBLEMS IN INFO FILE %s" file)
-                   (save-excursion
-                     (set-buffer loss-name)
+                   (with-current-buffer loss-name
                      (princ (buffer-substring-no-properties
                              (point-min) (point-max))))
                    (message "----------------------------------------------------------------------")
@@ -504,5 +514,4 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\""
 
 (provide 'informat)
 
-;; arch-tag: 581c440e-5be1-4f31-b005-2d5824bbf569
 ;;; informat.el ends here