Xref: utzoo gnu.emacs.help:1077 comp.emacs:10015 Path: utzoo!utgpu!watserv1!watmath!uunet!mstar!mstar.morningstar.com!bob From: bob@MorningStar.Com (Bob Sutterfield) Newsgroups: gnu.emacs.help,comp.emacs Subject: Re: Help me my file is too big for emacs Message-ID: Date: 5 Feb 91 15:53:16 GMT References: <9102041825.AA00727@cuda.princeton> Sender: usenet@MorningStar.COM (USENET Administrator) Reply-To: bob@MorningStar.Com (Bob Sutterfield) Organization: Morning Star Technologies Lines: 60 In-Reply-To: vlsisj!scotta%cuda@DECWRL.DEC.COM's message of 4 Feb 91 18:25:54 GMT In article <9102041825.AA00727@cuda.princeton> vlsisj!scotta%cuda@DECWRL.DEC.COM (scott applebaum) writes: From: vlsisj!scotta%cuda@DECWRL.DEC.COM (scott applebaum) Reply-To: vlsisj!scotta%cuda@decwrl.dec.com (Operator) ... Send return mail to PRINC1 VAX node not cuda, mustang2, or shelby. Since all those are completely useless non-addresses, I'll reply here. I am having trouble editing a 13Meg file. Is there a limit to how big a file GNU can handle? Is there a way to set the file size bigger. From the gnu.emacs.help FAQ: From: jbw@bucsf.bu.edu (Joe Wells) Newsgroups: gnu.emacs.help Subject: GNU Emacs Frequently Asked Questions with Answers (part 2 of 2) Date: 8 Dec 90 06:46:13 GMT Organization: Boston University Computer Science Department GNU Emacs Frequently Asked Questions with Answers (part 2 of 2) Sat Dec 8 01:30:53 1990 Weird/Confusing Problems: 53: Does Emacs have problems with files larger than 8 Megs? Most installed versions of GNU Emacs will use 24 bit signed integers (and 24 bit pointers!) internally. This limits the file size that Emacs can handle to 8388608 bytes. Leonard N. Zubkoff writes: Putting the following two lines in src/config.h before compiling Emacs allows for 26 bit integers and pointers: #define VALBITS 26 #define GCTYPEBITS 5 See question 54 for an explanation. 54: Why does Emacs use 24 bit integers and pointers? David Gillespie writes: Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed language in the sense that you can put any value of any type into any variable, or return it from a function, and so on. So each value must carry a "tag" along with it identifying what kind of thing it is, e.g., integer, pointer to a list, pointer to an editing buffer, and so on. Emacs uses standard 32-bit integers for data objects, taking the top 8 bits for the tag and the bottom 24 bits for the value. So integers (and pointers) are somewhat restricted compared to true C integers and pointers. Emacs uses 8-bit tags because that's a little faster on byte-oriented machines, but there are only really enough tags to require 6 bits. See question 53 to find how to recompile Emacs with 6-bit tags and 26-bit integers and pointers if space is at a premium for you.