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: How to use Emacs with Scheme without tears and joint pain? Date: Sat, 15 Aug 2009 12:44:38 +0200 Organization: Informatimago Message-ID: <87skft1hm1.fsf@galatea.local> References: <8fd63270-83b7-45de-a474-73b65d52ed94@v37g2000prg.googlegroups.com> <87ws5523ea.fsf@galatea.local> <70e2f6ff-538f-46fa-a8fe-82bb32ded697@y4g2000prf.googlegroups.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1250336474 26423 80.91.229.12 (15 Aug 2009 11:41:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 15 Aug 2009 11:41:14 +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 15 13:41:07 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 1McHdB-0000hD-Tn for geh-help-gnu-emacs@m.gmane.org; Sat, 15 Aug 2009 13:41:06 +0200 Original-Received: from localhost ([127.0.0.1]:54969 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1McHdB-0003DY-Bg for geh-help-gnu-emacs@m.gmane.org; Sat, 15 Aug 2009 07:41:05 -0400 Original-Path: news.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail Original-Newsgroups: comp.lang.scheme,gnu.emacs.help Original-Lines: 67 Original-X-Trace: individual.net hzuJSwPBt5yUZBvTXeedCAkflGvOBMEhbAOBVT77YVa+cMVAgj Cancel-Lock: sha1:ZjdhNGE2ZWEzY2VhYTcyZjU3ZTgwY2NkMjAwYTQyZGFhYTM3YmVkMQ== sha1:NFECxPb73p67gdQK0eZ7lLqOTQg= 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.1008 (Gnus v5.10.8) Emacs/22.3 (darwin) Original-Xref: news.stanford.edu comp.lang.scheme:82210 gnu.emacs.help:171991 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:67165 Archived-At: fft1976 writes: > On Aug 14, 7:54 pm, p...@informatimago.com (Pascal J. Bourguignon) > wrote: >> fft1976 writes: >> > I tried to use Emacs as suggested in the Gambit manual, and I also >> > tried the >> > Quack mode. Either I'm not using them right, or they just don't >> > provide the functionality I need. I'm not looking for something as >> > advanced as SLIME necessarily (which AFAIK only works with Scheme48), >> > but at least something like what you get with ELISP: >> >> > When you are editing a file, and eval an expression to the REPL, you >> > get an answer in the minibuffer (which should temporarily expand if >> > necessary) Also, if there is an error, you get a kind of pop-up window >> > that's easy to dismiss and get to the top level of the REPL. I don't >> > get these with Quack or Gambit mode. >> >> > How do you make this work with Emacs? Commercial IDEs ruined this for >> > me. >> >> Apart from the popup window, inferior-lisp provides the minimal needed >> features.  With C-x C-e I'm happy. >> > > None of the features I asked about. C-x C-e doesn't send the output to > the minibuffer. Try this: (defun scheme-output-to-minibuffer (string) (let* ((string (let ((prompt (format "%s\\'" comint-prompt-regexp))) (if (string-match prompt string) (subseq string 0 (match-beginning 0)) string))) (string (if (string-match "\\`[\n\t ]*\\(.*[^\n\t ]\\)[\n\t ]*\\'" string) (match-string 1 string) string))) (message "%s" string))) (add-hook 'inferior-scheme-mode-hook (lambda () (pushnew 'scheme-output-to-minibuffer comint-output-filter-functions))) >> Then you could take the port of swank to scheme48, and adapt it to the >> schemes you use, so you could take advantage of slime. >> > > I don't know ELISP, and really don't feel like reading a book about it > and Emacs hacking just to get some basic Scheme development > functionality working. The fundamental essence of emacs is that you may change its behavior if you don't like it. You can do that by modifying customization variables, try: M-x customize-group RET scheme RET and see if there is an option to send scheme output to the minibuffer; or by modifying the emacs program itself, writing emacs lisp code. If you don't have a customization option to do what you want, and you don't want to write emacs lisp code, then the answer is that emacs cannot do what you want. Perhaps you should try another IDE. PLT-scheme comes with a nice IDE. -- __Pascal Bourguignon__