From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: John Russell Newsgroups: gmane.emacs.help Subject: Re: Invalid function error in cl.el Date: Wed, 22 Feb 2006 16:53:48 -0500 Organization: Cisco Systems Inc. Message-ID: <87oe0zcb6b.fsf@cisco.com> References: <87u0arcd4t.fsf@cisco.com> <87bqwzrs7q.fsf@thalassa.informatimago.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1140722236 5189 80.91.229.2 (23 Feb 2006 19:17:16 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 23 Feb 2006 19:17:16 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Feb 23 20:17:12 2006 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FCLxd-0002xv-1z for geh-help-gnu-emacs@m.gmane.org; Thu, 23 Feb 2006 20:17:09 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FCLxb-00074w-PK for geh-help-gnu-emacs@m.gmane.org; Thu, 23 Feb 2006 14:17:08 -0500 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!headwall.stanford.edu!newshub.sdsu.edu!peer01.west.cox.net!cox.net!hwmnpeer01.phx!hwmedia!news.highwinds-media.com!hw-filter.phx!newsfe12.phx.POSTED!53ab2750!not-for-mail Original-Newsgroups: gnu.emacs.help User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.4 (gnu/linux) Cancel-Lock: sha1:A8ddR/LRAyl69WfQbNnE71Pqv5A= Cache-Post-Path: sj-nntpcache-5!unknown@dhcp-10-86-165-57.cisco.com X-Cache: nntpcache 2.4.0b2 (see http://www.nntpcache.org/) Original-Lines: 52 Original-NNTP-Posting-Host: 171.69.11.154 Original-X-Complaints-To: newsadmin@cisco.com Original-X-Trace: newsfe12.phx 1140645226 171.69.11.154 (Wed, 22 Feb 2006 14:53:46 MST) Original-NNTP-Posting-Date: Wed, 22 Feb 2006 14:53:46 MST Original-Xref: shelby.stanford.edu gnu.emacs.help:137748 Original-To: help-gnu-emacs@gnu.org 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:33371 Archived-At: Pascal Bourguignon writes: > John Russell writes: > >> I am using emacs 21.4.1 on Gentoo with buffer-stack.el. Briefly its a >> fairly common extension that allows you to switch quickly between >> active buffers. I have used it for years with no problems. Great, >> you say, but why do I care? >> >> Recently whenever I try to call buffer-stack-up or buffer-stack-down ( >> the main entry points for buffer-stack ) I get the following error >> >> buffer-stack-move: Invalid function: (macro lambda (place &optional x) >> "Increment PLACE by X (1 by default). >> PLACE may be a symbol, or any generalized variable allowed by `setf'. >> The return value is the incremented value of PLACE." (if (symbolp >> place) (list (quote setq) place (if x (list (quote +) place x) (list >> (quote 1+) place))) (list (quote callf) (quote +) place (or x 1)))) >> >> I have tried reinstalling emacs, removing other things from my config, >> byte compiled, not byte compiled, on an empty stomach, nothing helps. >> The thing that kills me is that this has worked for so long and now >> it doesn't. It has to be something I did, but I can't for the life of >> me figure it out. Any ideas? Thanks a lot. > > The form: > > (macro lambda (place &optional x) > "Increment PLACE by X (1 by default). > PLACE may be a symbol, or any generalized variable allowed by `setf'. > The return value is the incremented value of PLACE." (if (symbolp > place) (list (quote setq) place (if x (list (quote +) place x) (list > (quote 1+) place))) (list (quote callf) (quote +) place (or x 1)))) > > is not a function. It looks like the body of the incf macro. > Perhaps buffer-stack.el tries to funcall (symbol-function 'incf) ? > It should avoid incf, since it's defined as a macro in cl-macs.el > This clip is in buffer-stack.el (incf buffer-stack-index) I replaced it with (setq buffer-stack-index (1+ buffer-stack-index)) Everything works as expected now, which is good, but this literally worked for 3 years. I have no idea why it would break now. Eh, anyway, thanks for the prod in the right direction. John