* underline-line
@ 2009-12-24 11:06 Cecil Westerhof
2009-12-24 11:23 ` underline-line Cecil Westerhof
2009-12-24 15:32 ` underline-line Pascal J. Bourguignon
0 siblings, 2 replies; 12+ messages in thread
From: Cecil Westerhof @ 2009-12-24 11:06 UTC (permalink / raw)
To: help-gnu-emacs
Sometime you want to underline a sentence, just like this one.
--------------------------------------------------------------
That is why I wrote a function underline-line. (Good name giving
to functions and files will be done soon.) Default it underlines
the complete line with '-'. An example with white-space at the
front and end.
------------------------------------------------------------ But
the default underline character can be changed: (underline-line
?^) gives: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ But not underlining the
white-space could be useful. That is possible with
(underline-line nil t):
--------------------------------------------- And of course the
underline character can still be changed: (underline-line ?* t)
gives: **************************** There is a problem with tabs
as seen here: ------------------------------------------ Also
what is a better default: underlining everything as is done now,
or is it better to default not underline the white-space at the
beginning and the end of the line? I am open to suggestions.
The code (own-functions-general.el on
http://www.decebal.nl/EmacsLisp/): (defun underline-line
(&optional underline-char skip-outer-whitespace)
"Underline current line; Default the whole line is
underlined with -. If underline-char is given, this character
is used. When skip-outer-whitespace is not nil, whitespace at
the beginning and the end of the line is not underlined. When
there are characters that do not have a width of one, this
function will not work correctly. This is the case with tabs.
If the tabs are only in the whitespace at the beginning of the
line, this function works correctly."
(interactive)
(save-excursion
(let ((end-point) (start-point) (start-string "")
(this-underline-char)
(underline-length)) (if (char-valid-p
underline-char) (setq this-underline-char
underline-char) (setq this-underline-char "-"))
(end-of-line) (setq end-point (point))
(beginning-of-line) (setq start-point (point))
(when skip-outer-whitespace (if (not (re-search-forward
"\\(^[ \t]*\\)[^ \t]" end-point)) (setq start-point
end-point) (setq start-point (match-end 0)
start-string (match-string 1)) (end-of-line)
(re-search-backward "\\([^ \t]\\)[ \t]*$" start-point)
(setq end-point (1+ (match-end 1)))))
(setq underline-length (- end-point start-point)) (if (<
underline-length 1) (exit-depends-on-interactive
"Nothing to underline" (interactive-p))
(forward-line 1) (insert start-string) (loop for i
from 1 to underline-length do (insert
this-underline-char)) (insert "\n")))))
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: underline-line
2009-12-24 11:06 underline-line Cecil Westerhof
@ 2009-12-24 11:23 ` Cecil Westerhof
2009-12-24 12:21 ` underline-line Reiner Steib
2009-12-24 15:32 ` underline-line Pascal J. Bourguignon
1 sibling, 1 reply; 12+ messages in thread
From: Cecil Westerhof @ 2009-12-24 11:23 UTC (permalink / raw)
To: help-gnu-emacs
Cecil Westerhof <Cecil@decebal.nl> writes:
> Sometime you want to underline a sentence, just like this one. --------------------------------------------------------------
I do not understand what happened here. When writing the message it was
like:
Sometime you want to underline a sentence, just like this one.
--------------------------------------------------------------
And in the rest of the message there are also missing a 'few' newlines.
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: underline-line
2009-12-24 11:06 underline-line Cecil Westerhof
2009-12-24 11:23 ` underline-line Cecil Westerhof
@ 2009-12-24 15:32 ` Pascal J. Bourguignon
2009-12-25 5:59 ` underline-line tomas
` (2 more replies)
1 sibling, 3 replies; 12+ messages in thread
From: Pascal J. Bourguignon @ 2009-12-24 15:32 UTC (permalink / raw)
To: help-gnu-emacs
Cecil Westerhof <Cecil@decebal.nl> writes:
> There is a problem with tabs as seen here:
> ------------------------------------------
There should be no problem with tabs, because there should be not tab
in text files.
The only place where prefix tabs are allowed, for historical reasons
is in Makefile.
And since alot of people are switching to things such as ant, perhaps
we could have a big switch over to spaces. It would be enough that
the few make providers agree on a date and provide a script to convert
tab-makefiles to space-makefiles along with a new version of make.
Such switch overs have been done for more complex things than Makefiles...
--
__Pascal Bourguignon__ http://www.informatimago.com/
Our enemies are innovative and resourceful, and so are we. They never
stop thinking about new ways to harm our country and our people, and
neither do we. -- Georges W. Bush
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: underline-line
2009-12-24 15:32 ` underline-line Pascal J. Bourguignon
@ 2009-12-25 5:59 ` tomas
2009-12-25 6:33 ` underline-line Cecil Westerhof
[not found] ` <mailman.167.1261721014.18930.help-gnu-emacs@gnu.org>
2 siblings, 0 replies; 12+ messages in thread
From: tomas @ 2009-12-25 5:59 UTC (permalink / raw)
To: Pascal J. Bourguignon; +Cc: help-gnu-emacs
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Thu, Dec 24, 2009 at 04:32:30PM +0100, Pascal J. Bourguignon wrote:
[...]
> The only place where prefix tabs are allowed, for historical reasons
> is in Makefile.
>
> And since alot of people are switching to things such as ant,
Ouch. Not that 'm very fond of Makefile's tab, but I'll take leading tabs
before XML any day :-(
> perhaps
> we could have a big switch over to spaces. It would be enough that
> the few make providers agree on a date [...]
No need for that. Make providers agreeing on accepting leading
whitespace instead of just tabs would be backwards compatible and it'll
slowly do away with tabs. But I don't believe it to be important enough.
Regards
- -- tomás
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFLNFS3Bcgs9XrR2kYRAgBIAJ42P/KkiDMJzFO+BmD0IsQFvvNqrACcDoBy
kaVYaH+4m3TX3/XriQDDZMg=
=luoi
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: underline-line
2009-12-24 15:32 ` underline-line Pascal J. Bourguignon
2009-12-25 5:59 ` underline-line tomas
@ 2009-12-25 6:33 ` Cecil Westerhof
2009-12-25 23:07 ` underline-line Tim X
[not found] ` <mailman.167.1261721014.18930.help-gnu-emacs@gnu.org>
2 siblings, 1 reply; 12+ messages in thread
From: Cecil Westerhof @ 2009-12-25 6:33 UTC (permalink / raw)
To: help-gnu-emacs
pjb@informatimago.com (Pascal J. Bourguignon) writes:
> Cecil Westerhof <Cecil@decebal.nl> writes:
> There should be no problem with tabs, because there should be not tab
> in text files.
I do not use them, but I know that other people do. Better to describe
the consequences then, so that people are not taken by surprise.
> The only place where prefix tabs are allowed, for historical reasons
> is in Makefile.
I know a lot of people who use it for indenting and it is used for
'tables'. But maybe I should give a warning when tabs are found in the
text.
But maybe I should document the function works with 'clean' text files.
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: underline-line
2009-12-25 6:33 ` underline-line Cecil Westerhof
@ 2009-12-25 23:07 ` Tim X
2009-12-25 23:52 ` underline-line Pascal J. Bourguignon
2009-12-26 9:21 ` underline-line Cecil Westerhof
0 siblings, 2 replies; 12+ messages in thread
From: Tim X @ 2009-12-25 23:07 UTC (permalink / raw)
To: help-gnu-emacs
Cecil Westerhof <Cecil@decebal.nl> writes:
> pjb@informatimago.com (Pascal J. Bourguignon) writes:
>
>> Cecil Westerhof <Cecil@decebal.nl> writes:
>> There should be no problem with tabs, because there should be not tab
>> in text files.
>
> I do not use them, but I know that other people do. Better to describe
> the consequences then, so that people are not taken by surprise.
>
>
>> The only place where prefix tabs are allowed, for historical reasons
>> is in Makefile.
>
> I know a lot of people who use it for indenting and it is used for
> 'tables'. But maybe I should give a warning when tabs are found in the
> text.
> But maybe I should document the function works with 'clean' text files.
I personally don't think tabs are a problem What is a problem is when
you get source files that have a mixture of tabs and spaces where they
are not used consistently.
Using tabs for indent can actuallly be very useful. If I'm working with
a team and we all have different preferences for how large our code
indents are, rather than forcing a standard indent size on all team
members, we can just use tabs and each member can set the tab width to
their preferred indent size i.e. 2 spaces, 4 spaces, 8 spaces etc.
The problem is when you have some people indenting using spaces and some
using tabs. Then all the indenting gets screwed up.
I don't have an issue with tabs in Makefiles. The emacs Makefile mode
can show tabs/spaces, so its easy to see when something is wrong/missing
a leading tab.
I doubt we can change make effectively. There are millions of lines of
makefile code with tabs out there (I was told there are more lines of
Makefile code out there than Ruby). Much of this code is in projects
that are unlikely to have the inclination or resoruces to want to modify
their Makefiles to remove the tabs. Changing make to handle just
generic whitespace (i.e. space or tab) would be possible, but it won't
remove tabs from the equation. We are pretty much stuck with them for
the time being.
Tim
--
tcross (at) rapttech dot com dot au
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: underline-line
2009-12-25 23:07 ` underline-line Tim X
@ 2009-12-25 23:52 ` Pascal J. Bourguignon
2009-12-26 7:03 ` underline-line Tim X
2009-12-26 9:21 ` underline-line Cecil Westerhof
1 sibling, 1 reply; 12+ messages in thread
From: Pascal J. Bourguignon @ 2009-12-25 23:52 UTC (permalink / raw)
To: help-gnu-emacs
Tim X <timx@nospam.dev.null> writes:
> Cecil Westerhof <Cecil@decebal.nl> writes:
>
>> pjb@informatimago.com (Pascal J. Bourguignon) writes:
>>
>>> Cecil Westerhof <Cecil@decebal.nl> writes:
>>> There should be no problem with tabs, because there should be not tab
>>> in text files.
>>
>> I do not use them, but I know that other people do. Better to describe
>> the consequences then, so that people are not taken by surprise.
>>
>>
>>> The only place where prefix tabs are allowed, for historical reasons
>>> is in Makefile.
>>
>> I know a lot of people who use it for indenting and it is used for
>> 'tables'. But maybe I should give a warning when tabs are found in the
>> text.
>> But maybe I should document the function works with 'clean' text files.
>
> I personally don't think tabs are a problem What is a problem is when
> you get source files that have a mixture of tabs and spaces where they
> are not used consistently.
>
> Using tabs for indent can actuallly be very useful. If I'm working with
> a team and we all have different preferences for how large our code
> indents are, rather than forcing a standard indent size on all team
> members, we can just use tabs and each member can set the tab width to
> their preferred indent size i.e. 2 spaces, 4 spaces, 8 spaces etc.
C-x h C-M-\
I'd even put the equivalent in find-file-hook...
(and possibly the same in save-file-hook with the project parameters).
> The problem is when you have some people indenting using spaces and some
> using tabs. Then all the indenting gets screwed up.
>
> I don't have an issue with tabs in Makefiles. The emacs Makefile mode
> can show tabs/spaces, so its easy to see when something is wrong/missing
> a leading tab.
>
> I doubt we can change make effectively. There are millions of lines of
> makefile code with tabs out there (I was told there are more lines of
> Makefile code out there than Ruby). Much of this code is in projects
> that are unlikely to have the inclination or resoruces to want to modify
> their Makefiles to remove the tabs. Changing make to handle just
> generic whitespace (i.e. space or tab) would be possible, but it won't
> remove tabs from the equation. We are pretty much stuck with them for
> the time being.
Makefile:2:warning TAB used instead of space
Makefile:3:warning TAB used instead of space
Makefile:4:warning TAB used instead of space
Makefile:6:warning TAB used instead of space
Makefile:7:warning TAB used instead of space
...
--
__Pascal Bourguignon__ http://www.informatimago.com/
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: underline-line
2009-12-25 23:52 ` underline-line Pascal J. Bourguignon
@ 2009-12-26 7:03 ` Tim X
0 siblings, 0 replies; 12+ messages in thread
From: Tim X @ 2009-12-26 7:03 UTC (permalink / raw)
To: help-gnu-emacs
pjb@informatimago.com (Pascal J. Bourguignon) writes:
> Tim X <timx@nospam.dev.null> writes:
>
>> Cecil Westerhof <Cecil@decebal.nl> writes:
>>
>>> pjb@informatimago.com (Pascal J. Bourguignon) writes:
>>>
>>>> Cecil Westerhof <Cecil@decebal.nl> writes:
>>>> There should be no problem with tabs, because there should be not tab
>>>> in text files.
>>>
>>> I do not use them, but I know that other people do. Better to describe
>>> the consequences then, so that people are not taken by surprise.
>>>
>>>
>>>> The only place where prefix tabs are allowed, for historical reasons
>>>> is in Makefile.
>>>
>>> I know a lot of people who use it for indenting and it is used for
>>> 'tables'. But maybe I should give a warning when tabs are found in the
>>> text.
>>> But maybe I should document the function works with 'clean' text files.
>>
>> I personally don't think tabs are a problem What is a problem is when
>> you get source files that have a mixture of tabs and spaces where they
>> are not used consistently.
>>
>> Using tabs for indent can actuallly be very useful. If I'm working with
>> a team and we all have different preferences for how large our code
>> indents are, rather than forcing a standard indent size on all team
>> members, we can just use tabs and each member can set the tab width to
>> their preferred indent size i.e. 2 spaces, 4 spaces, 8 spaces etc.
>
> C-x h C-M-\
>
> I'd even put the equivalent in find-file-hook...
> (and possibly the same in save-file-hook with the project parameters).
>
>
>
>> The problem is when you have some people indenting using spaces and some
>> using tabs. Then all the indenting gets screwed up.
>>
>> I don't have an issue with tabs in Makefiles. The emacs Makefile mode
>> can show tabs/spaces, so its easy to see when something is wrong/missing
>> a leading tab.
>>
>> I doubt we can change make effectively. There are millions of lines of
>> makefile code with tabs out there (I was told there are more lines of
>> Makefile code out there than Ruby). Much of this code is in projects
>> that are unlikely to have the inclination or resoruces to want to modify
>> their Makefiles to remove the tabs. Changing make to handle just
>> generic whitespace (i.e. space or tab) would be possible, but it won't
>> remove tabs from the equation. We are pretty much stuck with them for
>> the time being.
>
> Makefile:2:warning TAB used instead of space
> Makefile:3:warning TAB used instead of space
> Makefile:4:warning TAB used instead of space
> Makefile:6:warning TAB used instead of space
> Makefile:7:warning TAB used instead of space
Yes, but my point is there is a huge amount of makefiles out there with
tabs and that isn't going to change. The amount of legacy makefiles with
tabs means we are not going to get rid of them any time soon i.e. we are
stuck with them for the time being.
Tim> ...
--
tcross (at) rapttech dot com dot au
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: underline-line
2009-12-25 23:07 ` underline-line Tim X
2009-12-25 23:52 ` underline-line Pascal J. Bourguignon
@ 2009-12-26 9:21 ` Cecil Westerhof
1 sibling, 0 replies; 12+ messages in thread
From: Cecil Westerhof @ 2009-12-26 9:21 UTC (permalink / raw)
To: help-gnu-emacs
Tim X <timx@nospam.dev.null> writes:
>> I know a lot of people who use it for indenting and it is used for
>> 'tables'. But maybe I should give a warning when tabs are found in the
>> text.
>> But maybe I should document the function works with 'clean' text files.
>
> I personally don't think tabs are a problem What is a problem is when
> you get source files that have a mixture of tabs and spaces where they
> are not used consistently.
That is certainly a problem. But I do not think that my function will be
used with source or Makefiles.
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <mailman.167.1261721014.18930.help-gnu-emacs@gnu.org>]
* Re: underline-line
[not found] ` <mailman.167.1261721014.18930.help-gnu-emacs@gnu.org>
@ 2009-12-25 22:57 ` Tim X
0 siblings, 0 replies; 12+ messages in thread
From: Tim X @ 2009-12-25 22:57 UTC (permalink / raw)
To: help-gnu-emacs
tomas@tuxteam.de writes:
> On Thu, Dec 24, 2009 at 04:32:30PM +0100, Pascal J. Bourguignon wrote:
>
> [...]
>
>> The only place where prefix tabs are allowed, for historical reasons
>> is in Makefile.
>>
>> And since alot of people are switching to things such as ant,
>
> Ouch. Not that 'm very fond of Makefile's tab, but I'll take leading tabs
> before XML any day :-(
>
>> perhaps
>> we could have a big switch over to spaces. It would be enough that
>> the few make providers agree on a date [...]
>
> No need for that. Make providers agreeing on accepting leading
> whitespace instead of just tabs would be backwards compatible and it'll
> slowly do away with tabs. But I don't believe it to be important enough.
>
> Regards
Agree 100%.
--
tcross (at) rapttech dot com dot au
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2009-12-26 9:21 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-24 11:06 underline-line Cecil Westerhof
2009-12-24 11:23 ` underline-line Cecil Westerhof
2009-12-24 12:21 ` underline-line Reiner Steib
2009-12-24 12:50 ` underline-line Cecil Westerhof
2009-12-24 15:32 ` underline-line Pascal J. Bourguignon
2009-12-25 5:59 ` underline-line tomas
2009-12-25 6:33 ` underline-line Cecil Westerhof
2009-12-25 23:07 ` underline-line Tim X
2009-12-25 23:52 ` underline-line Pascal J. Bourguignon
2009-12-26 7:03 ` underline-line Tim X
2009-12-26 9:21 ` underline-line Cecil Westerhof
[not found] ` <mailman.167.1261721014.18930.help-gnu-emacs@gnu.org>
2009-12-25 22:57 ` underline-line Tim X
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).