unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Newbie: Unable to write a custom function
@ 2006-12-02 21:23 deech
  2006-12-02 21:52 ` Andre Kuehne
  2006-12-04  9:03 ` Mathias Dahl
  0 siblings, 2 replies; 5+ messages in thread
From: deech @ 2006-12-02 21:23 UTC (permalink / raw)


Hi all,
I am new to Emacs. I have written a new search function into my .emacs
file but I am unable to invoke it with M-x when I restart Emacs. There
are no error messages when Emacs starts up. Here is the code:

;;Search backwards from a point for a string. If found delete
;;all characters from that string to the point.
;;Eg Given the argument 't', 'alligator' becomes 'alliga'
(defun isearch-backward-tophrase ()
  (set-mark-command ())
  (isearch-backward )
  (kill-region ()())
)

Any idea what I am doing wrong?

Thanks...
Deech

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Newbie: Unable to write a custom function
  2006-12-02 21:23 Newbie: Unable to write a custom function deech
@ 2006-12-02 21:52 ` Andre Kuehne
  2006-12-03  0:06   ` Dieter Wilhelm
  2006-12-04  9:03 ` Mathias Dahl
  1 sibling, 1 reply; 5+ messages in thread
From: Andre Kuehne @ 2006-12-02 21:52 UTC (permalink / raw)
  Cc: help-gnu-emacs

deech wrote:
> Hi all,
> I am new to Emacs. I have written a new search function into my .emacs
> file but I am unable to invoke it with M-x when I restart Emacs. There
> are no error messages when Emacs starts up. Here is the code:
> 
> ;;Search backwards from a point for a string. If found delete
> ;;all characters from that string to the point.
> ;;Eg Given the argument 't', 'alligator' becomes 'alliga'
> (defun isearch-backward-tophrase ()
>   (set-mark-command ())
>   (isearch-backward )
>   (kill-region ()())
> )
> 
> Any idea what I am doing wrong?

You have to use the (interactive) special form to make your
funtion invokable with M-x:

(defun isearch-backward-tophrase ()
    (interactive)
    ...

Regards
Andre

> Thanks...
> Deech
> 
> _______________________________________________
> help-gnu-emacs mailing list
> help-gnu-emacs@gnu.org
> http://lists.gnu.org/mailman/listinfo/help-gnu-emacs
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Newbie: Unable to write a custom function
  2006-12-02 21:52 ` Andre Kuehne
@ 2006-12-03  0:06   ` Dieter Wilhelm
  0 siblings, 0 replies; 5+ messages in thread
From: Dieter Wilhelm @ 2006-12-03  0:06 UTC (permalink / raw)
  Cc: deech, help-gnu-emacs

Andre Kuehne <andre.kuehne@gmx.net> writes:

> deech wrote:
>> Hi all,
>> I am new to Emacs. I have written a new search function into my .emacs
>> file but I am unable to invoke it with M-x when I restart Emacs. There
>> are no error messages when Emacs starts up. Here is the code:
>>
>> ;;Search backwards from a point for a string. If found delete
>> ;;all characters from that string to the point.
>> ;;Eg Given the argument 't', 'alligator' becomes 'alliga'
>> (defun isearch-backward-tophrase ()
>>   (set-mark-command ())
>>   (isearch-backward )
>>   (kill-region ()())
>> )
>>
>> Any idea what I am doing wrong?
>
> You have to use the (interactive) special form to make your
> funtion invokable with M-x:
>
> (defun isearch-backward-tophrase ()
>    (interactive)
>    ...

...

By the way, please try it without the mark, at least in interactive
mode isearch-backward sets the mark where it starts the search.


-- 
    Best wishes

    H. Dieter Wilhelm
    Darmstadt, Germany

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Newbie: Unable to write a custom function
  2006-12-02 21:23 Newbie: Unable to write a custom function deech
  2006-12-02 21:52 ` Andre Kuehne
@ 2006-12-04  9:03 ` Mathias Dahl
  2006-12-06 17:49   ` Uber_Micro
  1 sibling, 1 reply; 5+ messages in thread
From: Mathias Dahl @ 2006-12-04  9:03 UTC (permalink / raw)


"deech" <aditya.siram@gmail.com> writes:

> ;;Search backwards from a point for a string. If found delete
> ;;all characters from that string to the point.
> ;;Eg Given the argument 't', 'alligator' becomes 'alliga'
> (defun isearch-backward-tophrase ()
>   (set-mark-command ())
>   (isearch-backward )
>   (kill-region ()())
> )

Maybe this is what you want:

(defun del-back-to-string (str)
  (interactive "sString: ")
  (let ((start (point)))
    (if (search-backward str nil t)
        (kill-region (point) start))))

Also, you don't have to restart Emacs to test your new command; just
place point after the last parenthesis and type C-x C-e
(`eval-last-sexp') and it will be evaluated and ready to be used.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Newbie: Unable to write a custom function
  2006-12-04  9:03 ` Mathias Dahl
@ 2006-12-06 17:49   ` Uber_Micro
  0 siblings, 0 replies; 5+ messages in thread
From: Uber_Micro @ 2006-12-06 17:49 UTC (permalink / raw)


Mathias Dahl <brakjoller@gmail.com> writes:


> Maybe this is what you want:
> 
> (defun del-back-to-string (str)
>   (interactive "sString: ")
>    ...


(interactive "*sString: ")

just a good habit to get into, "*" in front checks for read only
buffer 



-- 
So I remember, (ispell-buffer)

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-12-06 17:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-02 21:23 Newbie: Unable to write a custom function deech
2006-12-02 21:52 ` Andre Kuehne
2006-12-03  0:06   ` Dieter Wilhelm
2006-12-04  9:03 ` Mathias Dahl
2006-12-06 17:49   ` Uber_Micro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).