all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Putting == before and after selected text
@ 2010-04-23 20:47 Merciadri Luca
  2010-04-23 21:46 ` Andreas Politz
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Merciadri Luca @ 2010-04-23 20:47 UTC (permalink / raw)
  To: help-gnu-emacs

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I would like some key to a command. This is not difficult, but this
command should, once it is executed on some text, put `==' before the
text (on the line before) and `==' after the text (on the line after).

How could I do this?

Thanks.
- -- 
Merciadri Luca
See http://www.student.montefiore.ulg.ac.be/~merciadri/
- -- 

It takes two to tango.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iEYEARECAAYFAkvSB2UACgkQM0LLzLt8Mhx5twCffYA+VA885lajS08O1Clalo5A
xL4AnAnaxSjO2PRDEPzGiM7i361hOOCA
=96AA
-----END PGP SIGNATURE-----


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

* Re: Putting == before and after selected text
  2010-04-23 20:47 Putting == before and after selected text Merciadri Luca
@ 2010-04-23 21:46 ` Andreas Politz
  2010-04-24  8:00   ` Merciadri Luca
  2010-04-24 18:39 ` Colin S. Miller
  2010-04-25 15:48 ` Stefan Monnier
  2 siblings, 1 reply; 7+ messages in thread
From: Andreas Politz @ 2010-04-23 21:46 UTC (permalink / raw)
  To: help-gnu-emacs

Merciadri Luca <Luca.Merciadri@student.ulg.ac.be> writes:

> Hi,
>
> I would like some key to a command. This is not difficult, but this
> command should, once it is executed on some text, put `==' before the
> text (on the line before) and `==' after the text (on the line after).
>
> How could I do this?

How about this ?

(defun wrap-region-in-== (beg end)
  "Wrap lines contained in region with \"==\" marker.

Interactively, if region is not active, operate on prefix-arg
lines around point."
  (interactive
   (if (use-region-p)
       (list (region-beginning) (region-end))
     (let ((arg (prefix-numeric-value current-prefix-arg)))
       (save-excursion
         (if (< arg 0)
             (forward-line)
           (beginning-of-line))
         (sort (list (point) (progn (forward-line arg) (point)))
               '<)))))
  (save-excursion
    (goto-char beg)
    (beginning-of-line)
    (insert "==")
    (newline)
    (goto-char end)
    (or (bolp) (forward-line 1))
    (insert "==")
    (newline)))


-ap


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

* Re: Putting == before and after selected text
  2010-04-23 21:46 ` Andreas Politz
@ 2010-04-24  8:00   ` Merciadri Luca
  2010-04-24  8:37     ` Andreas Politz
  0 siblings, 1 reply; 7+ messages in thread
From: Merciadri Luca @ 2010-04-24  8:00 UTC (permalink / raw)
  To: help-gnu-emacs

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Andreas Politz <politza@fh-trier.de> writes:

> Merciadri Luca <Luca.Merciadri@student.ulg.ac.be> writes:
>
>> Hi,
>>
>> I would like some key to a command. This is not difficult, but this
>> command should, once it is executed on some text, put `==' before the
>> text (on the line before) and `==' after the text (on the line after).
>>
>> How could I do this?
>
> How about this ?
>
> (defun wrap-region-in-== (beg end)
>   "Wrap lines contained in region with \"==\" marker.
>
> Interactively, if region is not active, operate on prefix-arg
> lines around point."
>   (interactive
>    (if (use-region-p)
>        (list (region-beginning) (region-end))
>      (let ((arg (prefix-numeric-value current-prefix-arg)))
>        (save-excursion
>          (if (< arg 0)
>              (forward-line)
>            (beginning-of-line))
>          (sort (list (point) (progn (forward-line arg) (point)))
>                '<)))))
>   (save-excursion
>     (goto-char beg)
>     (beginning-of-line)
>     (insert "==")
>     (newline)
>     (goto-char end)
>     (or (bolp) (forward-line 1))
>     (insert "==")
>     (newline)))
Nice. I bound it to the F12 key, but I then encounter

`if: Symbol's function definition is void: use-region-p' in the
minibuffer. Why? Thanks.

- -- 
Merciadri Luca
See http://www.student.montefiore.ulg.ac.be/~merciadri/
- -- 

It's the early bird that gets the worm.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iEYEARECAAYFAkvSpRQACgkQM0LLzLt8MhzEMACeMtr+EzA692xVPc+au60y3jPn
7S0An1iRwl0O1MUhzdHwLsODjSSrx5Cs
=/vn1
-----END PGP SIGNATURE-----


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

* Re: Putting == before and after selected text
  2010-04-24  8:00   ` Merciadri Luca
@ 2010-04-24  8:37     ` Andreas Politz
  2010-04-24  9:51       ` Merciadri Luca
  0 siblings, 1 reply; 7+ messages in thread
From: Andreas Politz @ 2010-04-24  8:37 UTC (permalink / raw)
  To: help-gnu-emacs

Merciadri Luca <Luca.Merciadri@student.ulg.ac.be> writes:

> Andreas Politz <politza@fh-trier.de> writes:
>
>> Merciadri Luca <Luca.Merciadri@student.ulg.ac.be> writes:
>>
>>> Hi,
>>>
>>> I would like some key to a command. This is not difficult, but this
>>> command should, once it is executed on some text, put `==' before the
>>> text (on the line before) and `==' after the text (on the line after).
>>>
>>> How could I do this?
>>
>> How about this ?
>>
>> (defun wrap-region-in-== (beg end)
>>   "Wrap lines contained in region with \"==\" marker.
>>
>> Interactively, if region is not active, operate on prefix-arg
>> lines around point."
>>   (interactive
>>    (if (use-region-p)
>>        (list (region-beginning) (region-end))
>>      (let ((arg (prefix-numeric-value current-prefix-arg)))
>>        (save-excursion
>>          (if (< arg 0)
>>              (forward-line)
>>            (beginning-of-line))
>>          (sort (list (point) (progn (forward-line arg) (point)))
>>                '<)))))
>>   (save-excursion
>>     (goto-char beg)
>>     (beginning-of-line)
>>     (insert "==")
>>     (newline)
>>     (goto-char end)
>>     (or (bolp) (forward-line 1))
>>     (insert "==")
>>     (newline)))
> Nice. I bound it to the F12 key, but I then encounter
>
> `if: Symbol's function definition is void: use-region-p' in the
> minibuffer. Why? Thanks.
>

Because it's a Emacs23 function and you are using Version 22.

The best would be to replace `use-region-p' with a call to this function
or simply inline it.

(defun region-active-p ()
  "Return t if Transient Mark mode is enabled and the mark is active."
  (and transient-mark-mode mark-active))

-ap


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

* Re: Putting == before and after selected text
  2010-04-24  8:37     ` Andreas Politz
@ 2010-04-24  9:51       ` Merciadri Luca
  0 siblings, 0 replies; 7+ messages in thread
From: Merciadri Luca @ 2010-04-24  9:51 UTC (permalink / raw)
  To: help-gnu-emacs

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Andreas Politz <politza@fh-trier.de> writes:

> Merciadri Luca <Luca.Merciadri@student.ulg.ac.be> writes:
>
>> Andreas Politz <politza@fh-trier.de> writes:
>>
>>> Merciadri Luca <Luca.Merciadri@student.ulg.ac.be> writes:
>>>
>>>> Hi,
>>>>
>>>> I would like some key to a command. This is not difficult, but this
>>>> command should, once it is executed on some text, put `==' before the
>>>> text (on the line before) and `==' after the text (on the line after).
>>>>
>>>> How could I do this?
>>>
>>> How about this ?
>>>
>>> (defun wrap-region-in-== (beg end)
>>>   "Wrap lines contained in region with \"==\" marker.
>>>
>>> Interactively, if region is not active, operate on prefix-arg
>>> lines around point."
>>>   (interactive
>>>    (if (use-region-p)
>>>        (list (region-beginning) (region-end))
>>>      (let ((arg (prefix-numeric-value current-prefix-arg)))
>>>        (save-excursion
>>>          (if (< arg 0)
>>>              (forward-line)
>>>            (beginning-of-line))
>>>          (sort (list (point) (progn (forward-line arg) (point)))
>>>                '<)))))
>>>   (save-excursion
>>>     (goto-char beg)
>>>     (beginning-of-line)
>>>     (insert "==")
>>>     (newline)
>>>     (goto-char end)
>>>     (or (bolp) (forward-line 1))
>>>     (insert "==")
>>>     (newline)))
>> Nice. I bound it to the F12 key, but I then encounter
>>
>> `if: Symbol's function definition is void: use-region-p' in the
>> minibuffer. Why? Thanks.
>>
>
> Because it's a Emacs23 function and you are using Version 22.
>
> The best would be to replace `use-region-p' with a call to this function
> or simply inline it.
>
> (defun region-active-p ()
>   "Return t if Transient Mark mode is enabled and the mark is active."
>   (and transient-mark-mode mark-active))
Thanks. Sorry, I am a real beginner in this. It now works prettily. Thanks!

- -- 
Merciadri Luca
See http://www.student.montefiore.ulg.ac.be/~merciadri/
- -- 

If you fall off a cliff, you might as well try to fly. After all, you got nothing to lose.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iEYEARECAAYFAkvSvzsACgkQM0LLzLt8MhzfHACfXImoXigDUk6/8mkvGg2mMZTN
0t0AoJN4pk+4mX1tYIE97e3kFP0opuut
=658O
-----END PGP SIGNATURE-----


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

* Re: Putting == before and after selected text
  2010-04-23 20:47 Putting == before and after selected text Merciadri Luca
  2010-04-23 21:46 ` Andreas Politz
@ 2010-04-24 18:39 ` Colin S. Miller
  2010-04-25 15:48 ` Stefan Monnier
  2 siblings, 0 replies; 7+ messages in thread
From: Colin S. Miller @ 2010-04-24 18:39 UTC (permalink / raw)
  To: help-gnu-emacs

Merciadri Luca wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hi,
> 
> I would like some key to a command. This is not difficult, but this
> command should, once it is executed on some text, put `==' before the
> text (on the line before) and `==' after the text (on the line after).
> 
> How could I do this?
> 
Are you editing wikipedia (or other mediawiki) pages?
There's a wikipedia-mode
http://en.wikipedia.org/wiki/Wikipedia:Wikipedia-mode.el

However, it seems to have been obsoleted, check the page for the replacment

HTH,
Colin S. Miller


-- 
Replace the obvious in my email address with the first three letters of the hostname to reply.


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

* Re: Putting == before and after selected text
  2010-04-23 20:47 Putting == before and after selected text Merciadri Luca
  2010-04-23 21:46 ` Andreas Politz
  2010-04-24 18:39 ` Colin S. Miller
@ 2010-04-25 15:48 ` Stefan Monnier
  2 siblings, 0 replies; 7+ messages in thread
From: Stefan Monnier @ 2010-04-25 15:48 UTC (permalink / raw)
  To: help-gnu-emacs

> I would like some key to a command. This is not difficult, but this
> command should, once it is executed on some text, put `==' before the
> text (on the line before) and `==' after the text (on the line after).

> How could I do this?

(define-skeleton my-==-command "Insert == before and after the region"
  nil
  "--" _ "--")

Then you can call that command with M-x my-==-command RET
You'll probably want to bind it via define-key in some mode.


        Stefan


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

end of thread, other threads:[~2010-04-25 15:48 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-23 20:47 Putting == before and after selected text Merciadri Luca
2010-04-23 21:46 ` Andreas Politz
2010-04-24  8:00   ` Merciadri Luca
2010-04-24  8:37     ` Andreas Politz
2010-04-24  9:51       ` Merciadri Luca
2010-04-24 18:39 ` Colin S. Miller
2010-04-25 15:48 ` Stefan Monnier

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.