summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/informat.el14
-rw-r--r--lisp/textmodes/texinfmt.el2
3 files changed, 20 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 1a7529be8da..4161d80f26b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
+2008-09-25 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * informat.el (Info-split-threshold): New variable.
+ (Info-split): Use it.
+
+ * textmodes/texinfmt.el (texinfo-format-buffer):
+ Use Info-split-threshold to decide whether to split Info files.
+
2008-09-25 Chong Yidong <cyd@stupidchicken.com>
* progmodes/octave-mod.el (octave-mode-menu): Fix incorrect
diff --git a/lisp/informat.el b/lisp/informat.el
index 0fd12f3565f..0324e1a8311 100644
--- a/lisp/informat.el
+++ b/lisp/informat.el
@@ -153,9 +153,17 @@
;;;###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 +175,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 +200,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)
diff --git a/lisp/textmodes/texinfmt.el b/lisp/textmodes/texinfmt.el
index 412c25aa091..ad7c3c89c8c 100644
--- a/lisp/textmodes/texinfmt.el
+++ b/lisp/textmodes/texinfmt.el
@@ -166,7 +166,7 @@ and don't split the file if large. You can use `Info-tagify' and
(Info-tagify)
(if nosplit
nil
- (if (> (buffer-size) 100000)
+ (if (> (buffer-size) (+ 50000 Info-split-threshold))
(progn
(message (setq lastmessage "Splitting Info file..."))
(Info-split))))