From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: lee Newsgroups: gmane.emacs.help Subject: Re: How to save invisible (lisp) data in a text file Date: Sat, 23 Aug 2014 14:34:04 +0200 Organization: my virtual residence Message-ID: <87k35zz8oz.fsf@yun.yagibdah.de> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1408798416 1500 80.91.229.3 (23 Aug 2014 12:53:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 23 Aug 2014 12:53:36 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Aug 23 14:53:31 2014 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XLAoy-0002oi-4g for geh-help-gnu-emacs@m.gmane.org; Sat, 23 Aug 2014 14:53:28 +0200 Original-Received: from localhost ([::1]:41020 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XLAox-0006nB-Oj for geh-help-gnu-emacs@m.gmane.org; Sat, 23 Aug 2014 08:53:27 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48299) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XLAoc-0006n2-OC for help-gnu-emacs@gnu.org; Sat, 23 Aug 2014 08:53:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XLAoY-0001S9-Aa for help-gnu-emacs@gnu.org; Sat, 23 Aug 2014 08:53:06 -0400 Original-Received: from client-194-42-186-216.muenet.net ([194.42.186.216]:57161 helo=jarl.yagibdah.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XLAoY-0001Qw-1e for help-gnu-emacs@gnu.org; Sat, 23 Aug 2014 08:53:02 -0400 Original-Received: from yun.yagibdah.de ([192.168.3.20]) by jarl.yagibdah.de with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1XLAoU-0004C5-C9 for help-gnu-emacs@gnu.org; Sat, 23 Aug 2014 14:52:58 +0200 Original-Received: from lee by yun.yagibdah.de with local (Exim 4.80.1) (envelope-from ) id 1XLAoU-00039S-81 for help-gnu-emacs@gnu.org; Sat, 23 Aug 2014 14:52:58 +0200 In-Reply-To: (sokobania@gmail.com's message of "Thu, 21 Aug 2014 07:04:22 -0700 (PDT)") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) Mail-Followup-To: help-gnu-emacs@gnu.org X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 194.42.186.216 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:99367 Archived-At: sokobania@gmail.com writes: > I would like to do the following: > - display some normal text in a buffer with some major > mode named "my-special-mode" > - let the user interact with the buffer contents > - store in ram some lisp data generated by the user interaction > (like marks and extra text not displayed in the buffer) > - store the normal text AND this extra data in a file > > Then, when reopening the file, emacs would: > - display the normal text in a buffer with "my-special-mode" > - reinstall in ram the lisp data associated to the file > > Is this possible with emacs? > > Oops... As the answer to "Is this possible with emacs?" > is always "yes", I would rather ask: > > Is there a simple way (functions, mode, package...) to do that? > Are there any (simple) emacs-lisp examples of such a thing? You can apply information from another buffer to the current buffer. I've extended hi-lock-mode to do this, see https://github.com/lee-/emacs At least it shows you how it can be done. To store all information in one file, I would think about using a save hook which creates a tar archive from the two files or about using a unique marker line in the file after which the extra information is stored while limiting the display to everything above the marker. -- GNU Emacs 24.4.50.2 (x86_64-unknown-linux-gnu, X toolkit, Xaw3d scroll bars) of 2014-08-17 on yun.yagibdah.de