help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How run a command JUST on region highlighted by MOUSE?!?!


From: Christian Seberino
Subject: Re: How run a command JUST on region highlighted by MOUSE?!?!
Date: 2 Sep 2003 17:16:06 -0700

Kevin

Thanks for your help.  I finally got a version that works!

  (defun cs-py-comment-region(beg end) (interactive "r")
    (save-restriction
      (narrow-to-region beg end)
      (py-comment-region beg end)
      (delete-trailing-whitespace)))
 

What does the (interactive "r") do??? I really ONLY ever invoke my
functions
with key-combos that are hard wired to start the functions....e.g.
C-ac, C-z, etc....
Does this mean I can omit all this (interactive ..) stuff from .emacs
everywhere???

It appears that beg and end got automagically set when I dragged mouse
over some region.

It also appears that although py-comment-region did not need it's 2
args
without narrow-to-region part... it does now when I add the
narrow-to-region
part and that was the main bug.

Thank goodness it works but there is a lot going on I don't understand
here
about how arguments get defined and (interactive..) function.  Any
help would
be greatly appreciated.

Sincerely,

Chris

Kevin Rodgers <address@hidden> wrote in message news:<address@hidden>...
> Christian Seberino wrote:
> 
> > I set .emacs up to run this function when I highlight a region with
> > mouse
> > and type C-ac.....
> > 
> >  (defun cs-py-comment-region() (interactive)
> >       (narrow-to-region)
> >       (py-comment-region)
> >       (delete-trailing-whitespace)
> >       (widen))
> > 
> > I'm getting this error message...
> > 
> > cs-py-comment-region: Wrong number of arguments: #<subr narrow-to-region>, 0
> > (New file)
> > Mark set
> > cs-py-comment-region: Wrong number of arguments: #<subr narrow-to-region>, 0
> > 
> > I read Emacs LISP reference manual on narrow-to-region and it said..
> > 
> > Command: narrow-to-region start end
> >     This function sets the accessible portion of the current buffer to
> > start at start and end at end. Both arguments should be character
> > positions.
> > 
> >     In an interactive call, start and end are set to the bounds of the
> > current region (point and the mark, with the smallest first).
> > 
> > 
> > I assume "interactive call" = "highlighted a region with mouse"??
> > 
> > It seems narrow-to-region should get the start and end point values
> > automatically??!
> 
> It does when you call it interactively.  When you call it programmatically,
> you need to specify the START and END arguments: (region-beginning) and
> (region-end), respectively.
> 
> Your cs-py-comment-region function should take 2 arguments, provide a
> way for them to be specified when it's called interactively, and pass
> the region bounds to py-comment-region:
> 
> (defun cs-py-comment-region (beg end)
>    (interactive "r")
>    (py-comment-region beg end)
>    ...)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]