* LISP routines for commenting
@ 2008-08-08 8:36 Alex Gusarov
2008-08-09 1:43 ` Joel J. Adamson
[not found] ` <mailman.16147.1218246548.18990.help-gnu-emacs@gnu.org>
0 siblings, 2 replies; 11+ messages in thread
From: Alex Gusarov @ 2008-08-08 8:36 UTC (permalink / raw)
To: help-gnu-emacs
Hello,
I want to implement some lisp functions for the following:
1. Insert comment - when mark some lines of code and using it, insert
ins-comments, like this:
before:
l = []
l.append(1)
then mark it and use ins-func, after:
# ins > <username>, <current date and time>
l = []
l.append(1)
# ins < <username>, <current date and time>
Please, help me with some general code, thanks!
--
Best regards, Alex Gusarov
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: LISP routines for commenting
2008-08-08 8:36 LISP routines for commenting Alex Gusarov
@ 2008-08-09 1:43 ` Joel J. Adamson
[not found] ` <mailman.16147.1218246548.18990.help-gnu-emacs@gnu.org>
1 sibling, 0 replies; 11+ messages in thread
From: Joel J. Adamson @ 2008-08-09 1:43 UTC (permalink / raw)
To: Alex Gusarov; +Cc: help-gnu-emacs
>>>>> "Alex" == Alex Gusarov <alex.m.gusarov@gmail.com> writes:
Alex> Hello,
Alex> I want to implement some lisp functions for the following:
Alex> 1. Insert comment - when mark some lines of code and using it, insert
Alex> ins-comments, like this:
Alex> before:
Alex> l = []
Alex> l.append(1)
Alex> then mark it and use ins-func, after:
Alex> # ins > <username>, <current date and time>
Alex> l = []
Alex> l.append(1)
Alex> # ins < <username>, <current date and time>
If I understand correctly, you want to implement some lisp to comment
your Python code? Have you tried Python mode? There is a commonly used
key (M-;) that comments lines and regions --- look up the function
"comment-region." In each programming language mode, this function
inserts the proper comments for the language you are using (e.g., ";"
for lisp and "#" for Python, Perl, et al).
Please be specific if you want something else.
Joel
--
Joel J. Adamson
(303) 880-3109
Public key: http://pgp.mit.edu
http://www.unc.edu/~adamsonj
http://trashbird1240.blogspot.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: LISP routines for commenting
[not found] ` <mailman.16147.1218246548.18990.help-gnu-emacs@gnu.org>
@ 2008-08-09 14:43 ` weber
2008-08-09 16:33 ` Thierry Volpiatto
0 siblings, 1 reply; 11+ messages in thread
From: weber @ 2008-08-09 14:43 UTC (permalink / raw)
To: help-gnu-emacs
On Aug 8, 10:43 pm, "Joel J. Adamson " <adams...@email.unc.edu> wrote:
> >>>>> "Alex" == Alex Gusarov <alex.m.gusa...@gmail.com> writes:
>
> Alex> Hello,
> Alex> I want to implement some lisp functions for the following:
> Alex> 1. Insert comment - when mark some lines of code and using it, insert
> Alex> ins-comments, like this:
>
> Alex> before:
>
> Alex> l = []
> Alex> l.append(1)
>
> Alex> then mark it and use ins-func, after:
>
> Alex> # ins > <username>, <current date and time>
> Alex> l = []
> Alex> l.append(1)
> Alex> # ins < <username>, <current date and time>
>
> If I understand correctly, you want to implement some lisp to comment
> your Python code? Have you tried Python mode? There is a commonly used
> key (M-;) that comments lines and regions --- look up the function
> "comment-region." In each programming language mode, this function
> inserts the proper comments for the language you are using (e.g., ";"
> for lisp and "#" for Python, Perl, et al).
>
> Please be specific if you want something else.
>
> Joel
>
> --
> Joel J. Adamson
> (303) 880-3109
> Public key:http://pgp.mit.eduhttp://www.unc.edu/~adamsonjhttp://trashbird1240.blogspot.com
Alex,
is this what you want?
(defun ins-comment (beg end)
(interactive "r")
(let ((str (concat user-login-name ", " (format-time-string "%d/%m/
%y %Hh%Mmin"))))
(goto-char end)
(insert "# ins < " str)
(goto-char beg)
(insert "# ins > " str "\n")))
HTH,
hugo
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: LISP routines for commenting
2008-08-09 14:43 ` weber
@ 2008-08-09 16:33 ` Thierry Volpiatto
2008-08-09 16:42 ` Lennart Borgman (gmail)
0 siblings, 1 reply; 11+ messages in thread
From: Thierry Volpiatto @ 2008-08-09 16:33 UTC (permalink / raw)
To: weber; +Cc: help-gnu-emacs
Python-mode provide a command for indenting that is bind to:
C-c # ==> comment
C-u C-c # ==> uncomment
The command is: `py-comment-region'
It is better to comment with that instead of the usual M-;
because it don't affect indentation after a block of commented code.
I don't know if python.el provide the same.
weber <hugows@gmail.com> writes:
> On Aug 8, 10:43 pm, "Joel J. Adamson " <adams...@email.unc.edu> wrote:
>> >>>>> "Alex" == Alex Gusarov <alex.m.gusa...@gmail.com> writes:
>>
>> Alex> Hello,
>> Alex> I want to implement some lisp functions for the following:
>> Alex> 1. Insert comment - when mark some lines of code and using it, insert
>> Alex> ins-comments, like this:
>>
>> Alex> before:
>>
>> Alex> l = []
>> Alex> l.append(1)
>>
>> Alex> then mark it and use ins-func, after:
>>
>> Alex> # ins > <username>, <current date and time>
>> Alex> l = []
>> Alex> l.append(1)
>> Alex> # ins < <username>, <current date and time>
>>
>> If I understand correctly, you want to implement some lisp to comment
>> your Python code? Have you tried Python mode? There is a commonly used
>> key (M-;) that comments lines and regions --- look up the function
>> "comment-region." In each programming language mode, this function
>> inserts the proper comments for the language you are using (e.g., ";"
>> for lisp and "#" for Python, Perl, et al).
>>
>> Please be specific if you want something else.
>>
>> Joel
>>
>> --
>> Joel J. Adamson
>> (303) 880-3109
>> Public key:http://pgp.mit.eduhttp://www.unc.edu/~adamsonjhttp://trashbird1240.blogspot.com
>
> Alex,
> is this what you want?
>
> (defun ins-comment (beg end)
> (interactive "r")
> (let ((str (concat user-login-name ", " (format-time-string "%d/%m/
> %y %Hh%Mmin"))))
> (goto-char end)
> (insert "# ins < " str)
> (goto-char beg)
> (insert "# ins > " str "\n")))
>
> HTH,
> hugo
>
--
A + Thierry Volpiatto
Location: Saint-Cyr-Sur-Mer - France
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: LISP routines for commenting
2008-08-09 16:33 ` Thierry Volpiatto
@ 2008-08-09 16:42 ` Lennart Borgman (gmail)
2008-08-09 17:04 ` Thierry Volpiatto
0 siblings, 1 reply; 11+ messages in thread
From: Lennart Borgman (gmail) @ 2008-08-09 16:42 UTC (permalink / raw)
To: Thierry Volpiatto; +Cc: help-gnu-emacs, weber
Thierry Volpiatto wrote:
> Python-mode provide a command for indenting that is bind to:
>
> C-c # ==> comment
> C-u C-c # ==> uncomment
> The command is: `py-comment-region'
>
> It is better to comment with that instead of the usual M-;
> because it don't affect indentation after a block of commented code.
Do you mean that this is a bug in the support for M-; in phyton-mode? Or
is it a bug in M-;
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: LISP routines for commenting
2008-08-09 16:42 ` Lennart Borgman (gmail)
@ 2008-08-09 17:04 ` Thierry Volpiatto
2008-08-09 17:11 ` Lennart Borgman (gmail)
0 siblings, 1 reply; 11+ messages in thread
From: Thierry Volpiatto @ 2008-08-09 17:04 UTC (permalink / raw)
To: Lennart Borgman (gmail); +Cc: help-gnu-emacs, weber
"Lennart Borgman (gmail)" <lennart.borgman@gmail.com> writes:
> Thierry Volpiatto wrote:
>> Python-mode provide a command for indenting that is bind to:
>>
>> C-c # ==> comment
>> C-u C-c # ==> uncomment
>> The command is: `py-comment-region'
>>
>> It is better to comment with that instead of the usual M-;
>> because it don't affect indentation after a block of commented code.
>
>
> Do you mean that this is a bug in the support for M-; in phyton-mode?
> Or is it a bug in M-;
>
I don't think it's a bug, it's just better to comment with the proper
function in python, especially if there is complex level of indentation
(loop followed with other loop and if if if...etc).
However M-; work in most cases.
So if it's a bug, it come from python-mode, because M-; normally have to
be used with python.el (is it working with python.el ?) because it is
the normal mode to use in emacs with python even if IMHO python-mode is
much better.
--
A + Thierry Volpiatto
Location: Saint-Cyr-Sur-Mer - France
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: LISP routines for commenting
2008-08-09 17:04 ` Thierry Volpiatto
@ 2008-08-09 17:11 ` Lennart Borgman (gmail)
2008-08-09 17:19 ` Thierry Volpiatto
0 siblings, 1 reply; 11+ messages in thread
From: Lennart Borgman (gmail) @ 2008-08-09 17:11 UTC (permalink / raw)
To: Thierry Volpiatto; +Cc: help-gnu-emacs, weber
Thierry Volpiatto wrote:
> "Lennart Borgman (gmail)" <lennart.borgman@gmail.com> writes:
>
>> Thierry Volpiatto wrote:
>>> Python-mode provide a command for indenting that is bind to:
>>>
>>> C-c # ==> comment
>>> C-u C-c # ==> uncomment
>>> The command is: `py-comment-region'
>>>
>>> It is better to comment with that instead of the usual M-;
>>> because it don't affect indentation after a block of commented code.
>>
>> Do you mean that this is a bug in the support for M-; in phyton-mode?
>> Or is it a bug in M-;
>>
> I don't think it's a bug, it's just better to comment with the proper
> function in python, especially if there is complex level of indentation
> (loop followed with other loop and if if if...etc).
But isn't there a bug somewhere if M-; does not do the right thing?
> However M-; work in most cases.
> So if it's a bug, it come from python-mode, because M-; normally have to
> be used with python.el (is it working with python.el ?) because it is
> the normal mode to use in emacs with python even if IMHO python-mode is
> much better.
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: LISP routines for commenting
2008-08-09 17:11 ` Lennart Borgman (gmail)
@ 2008-08-09 17:19 ` Thierry Volpiatto
2008-08-09 17:38 ` Lennart Borgman (gmail)
0 siblings, 1 reply; 11+ messages in thread
From: Thierry Volpiatto @ 2008-08-09 17:19 UTC (permalink / raw)
To: Lennart Borgman (gmail); +Cc: help-gnu-emacs, weber
"Lennart Borgman (gmail)" <lennart.borgman@gmail.com> writes:
> Thierry Volpiatto wrote:
>> "Lennart Borgman (gmail)" <lennart.borgman@gmail.com> writes:
>>
>>> Thierry Volpiatto wrote:
>>>> Python-mode provide a command for indenting that is bind to:
>>>>
>>>> C-c # ==> comment
>>>> C-u C-c # ==> uncomment
>>>> The command is: `py-comment-region'
>>>>
>>>> It is better to comment with that instead of the usual M-;
>>>> because it don't affect indentation after a block of commented code.
>>>
>>> Do you mean that this is a bug in the support for M-; in phyton-mode?
>>> Or is it a bug in M-;
>>>
>> I don't think it's a bug, it's just better to comment with the proper
>> function in python, especially if there is complex level of indentation
>> (loop followed with other loop and if if if...etc).
>
> But isn't there a bug somewhere if M-; does not do the right thing?
Well, if emacs is meant to use python with python.el and it is working
fine with it, it is not a bug, but if M-; don't work properly with
python.el, yes, it is a bug!
I don't know how emacs is working actually with python.el because i
don't use it.
>> However M-; work in most cases.
>> So if it's a bug, it come from python-mode, because M-; normally have to
>> be used with python.el (is it working with python.el ?) because it is
>> the normal mode to use in emacs with python even if IMHO python-mode is
>> much better.
>>
>
--
A + Thierry Volpiatto
Location: Saint-Cyr-Sur-Mer - France
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: LISP routines for commenting
2008-08-09 17:19 ` Thierry Volpiatto
@ 2008-08-09 17:38 ` Lennart Borgman (gmail)
2008-08-09 18:29 ` Thierry Volpiatto
0 siblings, 1 reply; 11+ messages in thread
From: Lennart Borgman (gmail) @ 2008-08-09 17:38 UTC (permalink / raw)
To: Thierry Volpiatto; +Cc: help-gnu-emacs, weber
Thierry Volpiatto wrote:
> "Lennart Borgman (gmail)" <lennart.borgman@gmail.com> writes:
>
>> Thierry Volpiatto wrote:
>>> "Lennart Borgman (gmail)" <lennart.borgman@gmail.com> writes:
>>>
>>>> Thierry Volpiatto wrote:
>>>>> Python-mode provide a command for indenting that is bind to:
>>>>>
>>>>> C-c # ==> comment
>>>>> C-u C-c # ==> uncomment
>>>>> The command is: `py-comment-region'
>>>>>
>>>>> It is better to comment with that instead of the usual M-;
>>>>> because it don't affect indentation after a block of commented code.
>>>> Do you mean that this is a bug in the support for M-; in phyton-mode?
>>>> Or is it a bug in M-;
>>>>
>>> I don't think it's a bug, it's just better to comment with the proper
>>> function in python, especially if there is complex level of indentation
>>> (loop followed with other loop and if if if...etc).
>> But isn't there a bug somewhere if M-; does not do the right thing?
>
> Well, if emacs is meant to use python with python.el and it is working
> fine with it, it is not a bug, but if M-; don't work properly with
> python.el, yes, it is a bug!
Don't you think that all major modes should support M-;? There are easy
ways to do that. The doc strings says
(comment-dwim arg)
Call the comment command you want (Do What I Mean).
If the region is active and `transient-mark-mode' is on, call
`comment-region' (unless it only consists of comments, in which
case it calls `uncomment-region').
Else, if the current line is empty, call `comment-insert-comment-function'
if it is defined, otherwise insert a comment and indent it.
Else if a prefix arg is specified, call `comment-kill'.
Else, call `comment-indent'.
You can configure `comment-style' to change the way regions are commented.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: LISP routines for commenting
2008-08-09 17:38 ` Lennart Borgman (gmail)
@ 2008-08-09 18:29 ` Thierry Volpiatto
2008-08-14 8:07 ` Alex Gusarov
0 siblings, 1 reply; 11+ messages in thread
From: Thierry Volpiatto @ 2008-08-09 18:29 UTC (permalink / raw)
To: Lennart Borgman (gmail); +Cc: help-gnu-emacs, weber
"Lennart Borgman (gmail)" <lennart.borgman@gmail.com> writes:
> Thierry Volpiatto wrote:
>> "Lennart Borgman (gmail)" <lennart.borgman@gmail.com> writes:
>>
>>> Thierry Volpiatto wrote:
>>>> "Lennart Borgman (gmail)" <lennart.borgman@gmail.com> writes:
>>>>
>>>>> Thierry Volpiatto wrote:
>>>>>> Python-mode provide a command for indenting that is bind to:
>>>>>>
>>>>>> C-c # ==> comment
>>>>>> C-u C-c # ==> uncomment
>>>>>> The command is: `py-comment-region'
>>>>>>
>>>>>> It is better to comment with that instead of the usual M-;
>>>>>> because it don't affect indentation after a block of commented code.
>>>>> Do you mean that this is a bug in the support for M-; in phyton-mode?
>>>>> Or is it a bug in M-;
>>>>>
>>>> I don't think it's a bug, it's just better to comment with the proper
>>>> function in python, especially if there is complex level of indentation
>>>> (loop followed with other loop and if if if...etc).
>>> But isn't there a bug somewhere if M-; does not do the right thing?
>>
>> Well, if emacs is meant to use python with python.el and it is working
>> fine with it, it is not a bug, but if M-; don't work properly with
>> python.el, yes, it is a bug!
>
>
> Don't you think that all major modes should support M-;? There are
> easy ways to do that. The doc strings says
>
> (comment-dwim arg)
>
> Call the comment command you want (Do What I Mean).
> If the region is active and `transient-mark-mode' is on, call
> `comment-region' (unless it only consists of comments, in which
> case it calls `uncomment-region').
> Else, if the current line is empty, call `comment-insert-comment-function'
> if it is defined, otherwise insert a comment and indent it.
> Else if a prefix arg is specified, call `comment-kill'.
> Else, call `comment-indent'.
> You can configure `comment-style' to change the way regions are commented.
>
Yes, i think that is enabled and working (indenting a comment block).
That is not working always correctly is indenting code after a block of
comment if this comment is commented with M-;. May be it's only because
M-; comment with only one # with no space in front.
Sure it can be corrected, i never ask myself about that as i use C-c #
in python.
--
A + Thierry Volpiatto
Location: Saint-Cyr-Sur-Mer - France
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: LISP routines for commenting
2008-08-09 18:29 ` Thierry Volpiatto
@ 2008-08-14 8:07 ` Alex Gusarov
0 siblings, 0 replies; 11+ messages in thread
From: Alex Gusarov @ 2008-08-14 8:07 UTC (permalink / raw)
To: Thierry Volpiatto; +Cc: help-gnu-emacs, weber
Thanks to everebody, I just returned from buisness trip and read your answers.
weber - almost what I wanted, thank you for example, I will modify
your example for my needs.
On Sun, Aug 10, 2008 at 1:29 AM, Thierry Volpiatto
<thierry.volpiatto@gmail.com> wrote:
> "Lennart Borgman (gmail)" <lennart.borgman@gmail.com> writes:
>
>> Thierry Volpiatto wrote:
>>> "Lennart Borgman (gmail)" <lennart.borgman@gmail.com> writes:
>>>
>>>> Thierry Volpiatto wrote:
>>>>> "Lennart Borgman (gmail)" <lennart.borgman@gmail.com> writes:
>>>>>
>>>>>> Thierry Volpiatto wrote:
>>>>>>> Python-mode provide a command for indenting that is bind to:
>>>>>>>
>>>>>>> C-c # ==> comment
>>>>>>> C-u C-c # ==> uncomment
>>>>>>> The command is: `py-comment-region'
>>>>>>>
>>>>>>> It is better to comment with that instead of the usual M-;
>>>>>>> because it don't affect indentation after a block of commented code.
>>>>>> Do you mean that this is a bug in the support for M-; in phyton-mode?
>>>>>> Or is it a bug in M-;
>>>>>>
>>>>> I don't think it's a bug, it's just better to comment with the proper
>>>>> function in python, especially if there is complex level of indentation
>>>>> (loop followed with other loop and if if if...etc).
>>>> But isn't there a bug somewhere if M-; does not do the right thing?
>>>
>>> Well, if emacs is meant to use python with python.el and it is working
>>> fine with it, it is not a bug, but if M-; don't work properly with
>>> python.el, yes, it is a bug!
>>
>>
>> Don't you think that all major modes should support M-;? There are
>> easy ways to do that. The doc strings says
>>
>> (comment-dwim arg)
>>
>> Call the comment command you want (Do What I Mean).
>> If the region is active and `transient-mark-mode' is on, call
>> `comment-region' (unless it only consists of comments, in which
>> case it calls `uncomment-region').
>> Else, if the current line is empty, call `comment-insert-comment-function'
>> if it is defined, otherwise insert a comment and indent it.
>> Else if a prefix arg is specified, call `comment-kill'.
>> Else, call `comment-indent'.
>> You can configure `comment-style' to change the way regions are commented.
>>
> Yes, i think that is enabled and working (indenting a comment block).
> That is not working always correctly is indenting code after a block of
> comment if this comment is commented with M-;. May be it's only because
> M-; comment with only one # with no space in front.
> Sure it can be corrected, i never ask myself about that as i use C-c #
> in python.
> --
> A + Thierry Volpiatto
> Location: Saint-Cyr-Sur-Mer - France
>
>
>
--
--
Best regards, Alex Gusarov
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2008-08-14 8:07 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-08 8:36 LISP routines for commenting Alex Gusarov
2008-08-09 1:43 ` Joel J. Adamson
[not found] ` <mailman.16147.1218246548.18990.help-gnu-emacs@gnu.org>
2008-08-09 14:43 ` weber
2008-08-09 16:33 ` Thierry Volpiatto
2008-08-09 16:42 ` Lennart Borgman (gmail)
2008-08-09 17:04 ` Thierry Volpiatto
2008-08-09 17:11 ` Lennart Borgman (gmail)
2008-08-09 17:19 ` Thierry Volpiatto
2008-08-09 17:38 ` Lennart Borgman (gmail)
2008-08-09 18:29 ` Thierry Volpiatto
2008-08-14 8:07 ` Alex Gusarov
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).