[PlanetCCRMA] Getting SuperCollider to work

Gregory D. Weber gdweber@indiana.edu
Sun Jul 8 12:12:01 2007

I'm using 

"GNU Emacs 22.0.990.1 (i386-koji-linux-gnu, GTK+ Version 2.10.11)
 of 2007-05-23 on xenbuilder3.fedora.phx.redhat.com"

which is in the Fedora 7 package emacs-22.0.990-2.fc7

Your suggestion fixes the bug with M-C-x.

I don't have the file "lisp.el" in the site-lisp directory.
-- I _do_ have a /usr/share/emacs/22.0.990/lisp/lisp.elc, presumably the
compiled version of the file you referred to, but in a different place.
-- No files match /usr/share/emacs/site-lisp/lisp.*

So I'm putting the function definition in a separate file, which will
get loaded from my .emacs file.

Thanks for the help!

Greg Weber

On Sun, 2007-07-01 at 14:50 +0200, andersvi@extern.uio.no wrote:
> >>>>> "G" == Gregory D Weber <gdweber@indiana.edu> writes:
>     G> 2.  Multiple lines of code enclosed in parentheses cannot be executed
>     G> using C-M-x; however, they CAN be evaluated by selecting the lines as a
>     G> region and evaluating the region (C-c C-x)
> There has been at least 2 different causes for this bug.  If youre
> using emacs v.21.* it should be sufficient to upgrade the scel-code.
> If you're using emacs v.22 i think the cause for this error is in the
> definition of 'beginning-of-defun-raw in emacs v.22's
> site-lisp/lisp.el - where the 'beginning-of-defun-function is called
> in a 'dotimes'-statement, but returns (the default for dotimes) nil.
> (I beleive this is a bug.)
> This gives troubles in sclang-language.el, making
> '(beginning-of-defun-raw 1)' return nil, regardless of whether the
> function called by it actually finds a beginning of defun and returns
> t.
> If youre using Emacs v.22, try this definition of
> 'beginning-of-defun-raw and see if C-M-x works:
> (defun beginning-of-defun-raw (&optional arg)
>   "Move point to the character that starts a defun.
> This is identical to function `beginning-of-defun', except that point
> does not move to the beginning of the line when `defun-prompt-regexp'
> is non-nil.
> If variable `beginning-of-defun-function' is non-nil, its value
> is called as a function to find the defun's beginning."
>   (interactive "p")
>   (if beginning-of-defun-function
>       (funcall beginning-of-defun-function)
>     (and arg (< arg 0) (not (eobp)) (forward-char 1))
>     (and (re-search-backward (if defun-prompt-regexp
> 				 (concat (if open-paren-in-column-0-is-defun-start
> 					     "^\\s(\\|" "")
> 					 "\\(" defun-prompt-regexp "\\)\\s(")
> 			       "^\\s(")
> 			     nil 'move (or arg 1))
> 	 (progn (goto-char (1- (match-end 0)))) t)))
Gregory D. Weber             Home page: http://mypage.iu.edu/~gdweber/
                             Telephone (765) 973-8420; FAX (765)
Schedule: http://mypage.iu.edu/~gdweber/contact/schedule.txt
Associate Professor of Computer Science
Chair, Curriculum Committee
Indiana University East
2325 Chester Boulevard, Richmond, Indiana 47374-1289, U.S.A.
Plain text is the document format that maximizes readability and
minimizes hassle and hazard.  It is the format of the official documents
defining Internet protocols (http://www.rfc-editor.org/).
One Microsoft Way: an address with an agenda!