From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: pjb@informatimago.com (Pascal J. Bourguignon) Newsgroups: gmane.emacs.help Subject: Re: Using only one emacs session Date: Fri, 15 May 2009 14:48:04 +0200 Organization: Anevia SAS Message-ID: <7c63g2a5x7.fsf@pbourguignon.anevia.com> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1242394854 14967 80.91.229.12 (15 May 2009 13:40:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 15 May 2009 13:40:54 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri May 15 15:40:47 2009 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1M4xeW-0000Mz-Ud for geh-help-gnu-emacs@m.gmane.org; Fri, 15 May 2009 15:40:45 +0200 Original-Received: from localhost ([127.0.0.1]:41502 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M4xeW-0004jt-G4 for geh-help-gnu-emacs@m.gmane.org; Fri, 15 May 2009 09:40:44 -0400 Original-Path: news.stanford.edu!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!cleanfeed2-b.proxad.net!nnrp9-1.free.fr!not-for-mail Original-Newsgroups: gnu.emacs.help Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9 033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR mV+hO/VvFAAAAABJRU5ErkJggg== X-Accept-Language: fr, es, en X-Disabled: X-No-Archive: no User-Agent: Gnus/5.101 (Gnus v5.10.10) Emacs/22.2 (gnu/linux) Cancel-Lock: sha1:YzdkZTFiMmFjNjQ5OWZiYTNlMzE3ODkwNTMzNjEwMjVmMzMwYjkzMg== Original-Lines: 58 Original-NNTP-Posting-Date: 15 May 2009 14:48:05 MEST Original-NNTP-Posting-Host: 88.170.236.224 Original-X-Trace: 1242391685 news-2.free.fr 5266 88.170.236.224:40179 Original-X-Complaints-To: abuse@proxad.net Original-Xref: news.stanford.edu gnu.emacs.help:169195 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:64459 Archived-At: Francis Moreau writes: > After using emacs for a couple of years now, I'm still not satisfied > on the way I'm using it. > > I have a couple of emacs processes, each of them dedicated for a > specific task: for example, emacs #1 is used to work on project #1, > emacs #2 for project #2, emacs #3 used for email, irc... > > The advantage of this is that each emacs can be customized according > to the project it tracks: for example project #1 has a peculiar > compile command ("make -j4...") whereas project #2 does "gcc -Wall..." > for compiling the project. > > Also I like to have some specific buffer layouts to be easily set so I > use the 'window' package: for example I keep in window #2 of emacs #3 > some buffers doing irc on a specific irc server. > > The drawbacks of that is the multiple instance of emacs: each instance > can't exchange data, emacsclient is more difficult to setup... > > So I'm wondering how other people work and if someone found out THE > right answer. I know that some people use only one emacs session for > doing all of their work but for now it doesn't seem very practical but > I'm probably missing something. There are good advantages to work as you do, if really you have several projects going on in parallel. In my case, in general I have one emacs used for development, and two more, one for erc, and another for gnus. Since erc and gnus work with the network, sometimes there are delays or just time consuming processing in gnus, and since emacs lacks threads, it would lock the development buffers. So I keep several processes to be able to work while gnus fetch articles, etc. Besides, I also use cvs or cutting edge versions of emacs that may crash sometimes, so it's good to be able to crash one without losing the others. Now about data sharing across emacs processes, it's not really a problem, you can still cut-and-paste between emacs processes, or you can open the same file, and the emacs processes are careful not to overwrite it when you update it from another emacs. One thing that makes it easy is actually a window manager such as ratpoison which allows you to switch from one emacs process to another with a key choard. Instead of doing C-x 5 o to switch to another frame, I type C-t n. Remains the problem of emacsclient. We would have to modify the server code (cf server-start) to create one socket per process instead of one socket per user, and then pass a -s option to emacsclient to select the process we want. -- __Pascal Bourguignon__