unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* spacing of ls output in emacs shell
@ 2011-03-08 16:43 Strozzi, David J.
  2011-03-08 17:46 ` Valentin Plechinger
  0 siblings, 1 reply; 8+ messages in thread
From: Strozzi, David J. @ 2011-03-08 16:43 UTC (permalink / raw)
  To: help-gnu-emacs@gnu.org

Hi folks,

I like running shells in emacs (overheard at MIT, regarding OSes: linux is
nice, but I prefer emacs).  I am using emacs 23.2.1, on a linux server,
viewed over X11 on a mac.  I usually use M-x shell, not M-x term (since
the latter does not play well with emacs commands like C-x, M-x).  The
output of ls is not spaced into straight columns.  Well, when I select the
text and paste it into this email, it is (at least on my screen):

> ls
3wave  emacs-23.2  lsp91  papers        tests
Filament eos-dt.i  manuals plasma        tmp
Fis  epws   math  pres        tpd
Gist  estopscat  matlab  profiles_and_gains.i  trapper
Give  fastig   matlab-emacs proposals       vgroup.i
IDLWorkspace71 filelist.txt  matlab7.11 psc        vlasbk
LspJobLog foobar.ps  matlab78 pstopngpdf.sh       workspace
Old  foobar.txt  mpreorg.i reports        xbamp
Take  gausstest.i  mpreorg_drv.i research       ydjs
Zumahydra gv-notes.txt  mydata  resist.i       yorick
barcode.txt h5-yorick-0.8.0  newlip  runint_dndta.i       yorick-cvs
bashrc-ext h5yor-notes.txt  nif  sap        yutils-1.4.0
benisti  hydra   notes_lc seas        yutils-1.5.0
bin  hydrhsp   numerics sigvdt.i       zfunc_test
bookmarks.html juttner   oldlsp  slurm-289901.out      zohar
computers kemp   openmp  spears        zuma
deplete  kil.   oreports squ_rpp
download lib   p4.cfg  srs
ellis  lpildrd   p4.command startup.m
elvis  lsp25   palastro svnrepos


The reason is that there are tabs, and my email client interprets the tabs
as consisting of eight spaces, while in the original emacs window it is
four.

So this gets into the morass of tab spacing.  I have tabs setup, perhaps
not perfectly, but the way I like them for editing files.  So "just make
all tabs all the time do 8 spaces" is not the answer I'd like.

Any advice?  Can I tell emacs "tab = 8 spaces for shells?"  Or tell it not
to use tabs but spaces in shells?


Thanks for your help,
David Strozzi




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

* Re: spacing of ls output in emacs shell
  2011-03-08 16:43 Strozzi, David J.
@ 2011-03-08 17:46 ` Valentin Plechinger
  2011-03-08 18:25   ` Strozzi, David J.
  0 siblings, 1 reply; 8+ messages in thread
From: Valentin Plechinger @ 2011-03-08 17:46 UTC (permalink / raw)
  To: Strozzi, David J.; +Cc: help-gnu-emacs@gnu.org

At Tue, 8 Mar 2011 08:43:26 -0800,
Strozzi, David J. wrote:

> Any advice?  Can I tell emacs "tab = 8 spaces for shells?"  Or tell it not
> to use tabs but spaces in shells?
> Thanks for your help,
> David Strozzi
> 


Have you tried putting something like this in your .emacs?

(setq shell-mode-hook
    (function (lambda ()
                (setq indent-tabs-mode nil))))

Best regards,
Valentin Plechinger







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

* Re: spacing of ls output in emacs shell
       [not found] <mailman.7.1299602618.24943.help-gnu-emacs@gnu.org>
@ 2011-03-08 17:49 ` Uday Reddy
  0 siblings, 0 replies; 8+ messages in thread
From: Uday Reddy @ 2011-03-08 17:49 UTC (permalink / raw)
  To: help-gnu-emacs

Strozzi, David J. wrote:

> So this gets into the morass of tab spacing.  I have tabs setup, perhaps
> not perfectly, but the way I like them for editing files.  So "just make
> all tabs all the time do 8 spaces" is not the answer I'd like.

I hope you have no need to edit other people's files which might have
tab=8sp.  And that other people need to work with your files know that
tab is supposed to mean 4 spaces.  These are perennial problems.

It seems to me that you want to use the 4-space tabs for your own
editing, not for interpreting shell output or other buffers.  Try
putting your customization in mode hooks that you use for editing, while
leaving the global settings alone.

Cheers,
Uday


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

* Re: spacing of ls output in emacs shell
  2011-03-08 17:46 ` Valentin Plechinger
@ 2011-03-08 18:25   ` Strozzi, David J.
  2011-03-08 20:45     ` PJ Weisberg
  2011-03-10  8:19     ` Jonathan Groll
  0 siblings, 2 replies; 8+ messages in thread
From: Strozzi, David J. @ 2011-03-08 18:25 UTC (permalink / raw)
  To: Valentin Plechinger; +Cc: help-gnu-emacs@gnu.org

Hi,

Thanks for the suggestion.  I warn you that I am an emacs "user" and not
"master."  I put these exact lines in my .emacs, restarted, did M-x shell,
ls, same thing - tabs appear in the ls output, and emacs interprets them
as giving about 4 spaces.

Is there something else I need to do to enable this?

I don't understand lisp, so I am not smart enough to think of what I need
to do to adapt this to my environment.

Thanks,
Dave

On 3/8/11 9:46 AM, "Valentin Plechinger" <v.plechinger@gmail.com> wrote:

>At Tue, 8 Mar 2011 08:43:26 -0800,
>Strozzi, David J. wrote:
>
>> Any advice?  Can I tell emacs "tab = 8 spaces for shells?"  Or tell it
>>not
>> to use tabs but spaces in shells?
>> Thanks for your help,
>> David Strozzi
>> 
>
>
>Have you tried putting something like this in your .emacs?
>
>(setq shell-mode-hook
>    (function (lambda ()
>                (setq indent-tabs-mode nil))))
>
>Best regards,
>Valentin Plechinger
>
>
>
>




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

* Re: spacing of ls output in emacs shell
  2011-03-08 18:25   ` Strozzi, David J.
@ 2011-03-08 20:45     ` PJ Weisberg
  2011-03-08 20:54       ` Valentin Plechinger
  2011-03-08 21:06       ` Strozzi, David J.
  2011-03-10  8:19     ` Jonathan Groll
  1 sibling, 2 replies; 8+ messages in thread
From: PJ Weisberg @ 2011-03-08 20:45 UTC (permalink / raw)
  To: help-gnu-emacs@gnu.org

On Tue, Mar 8, 2011 at 10:25 AM, Strozzi, David J. <strozzi2@llnl.gov> wrote:
> Hi,
>
> Thanks for the suggestion.  I warn you that I am an emacs "user" and not
> "master."  I put these exact lines in my .emacs, restarted, did M-x shell,
> ls, same thing - tabs appear in the ls output, and emacs interprets them
> as giving about 4 spaces.
>
> Is there something else I need to do to enable this?
>
> I don't understand lisp, so I am not smart enough to think of what I need
> to do to adapt this to my environment.

My suggestion would be to put

(add-hook 'shell-mode-hook (lambda()
                             (setq tab-width 8)))

in your .emacs instead of the code Valentin suggested.  (I would test
it, but 'ls' doesn't output any tabs in shell mode when I try it.)

-PJ



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

* Re: spacing of ls output in emacs shell
  2011-03-08 20:45     ` PJ Weisberg
@ 2011-03-08 20:54       ` Valentin Plechinger
  2011-03-08 21:06       ` Strozzi, David J.
  1 sibling, 0 replies; 8+ messages in thread
From: Valentin Plechinger @ 2011-03-08 20:54 UTC (permalink / raw)
  To: help-gnu-emacs@gnu.org

At Tue, 8 Mar 2011 12:45:14 -0800,
PJ Weisberg wrote:
> 
> On Tue, Mar 8, 2011 at 10:25 AM, Strozzi, David J. <strozzi2@llnl.gov> wrote:
> > Hi,
> >
> > Thanks for the suggestion.  I warn you that I am an emacs "user" and not
> > "master."  I put these exact lines in my .emacs, restarted, did M-x shell,
> > ls, same thing - tabs appear in the ls output, and emacs interprets them
> > as giving about 4 spaces.
> >
> > Is there something else I need to do to enable this?
> >
> > I don't understand lisp, so I am not smart enough to think of what I need
> > to do to adapt this to my environment.
> 
> My suggestion would be to put
> 
> (add-hook 'shell-mode-hook (lambda()
>                              (setq tab-width 8)))
> 
> in your .emacs instead of the code Valentin suggested.  (I would test
> it, but 'ls' doesn't output any tabs in shell mode when I try it.)
> 
> -PJ

Ah yes, I forgot about the 8 spaces, that should work better (or try both together).
I tried both and it works fine for me (but I never had this problem in the first place).

Besides that, is the problem only in this case or whenever you copy things from emacs?

Best Regards
Valentin Plechinger



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

* Re: spacing of ls output in emacs shell
  2011-03-08 20:45     ` PJ Weisberg
  2011-03-08 20:54       ` Valentin Plechinger
@ 2011-03-08 21:06       ` Strozzi, David J.
  1 sibling, 0 replies; 8+ messages in thread
From: Strozzi, David J. @ 2011-03-08 21:06 UTC (permalink / raw)
  To: help-gnu-emacs@gnu.org

Hi,

Thanks to all for your suggestions.  The upshot is the below solution
seems to still give tabs, but they are displayed as 8-space widths
regardless of the global value of tab-width.  To truly test this, make
sure you ls in a dir that has wide enough filenames that more than 8
spaces are needed between a short name in col. N and col. N+1.

Anyway, I have enough different ways to make ls behave nice that I am
happy.

I generally hate having actual tabs in text files, and try to always have
them expanded as spaces.  Precisely because sharing them among people or
editors wreaks havoc.  12 years ago I got Fortran 77 source with tabs, and
on Windoze a line got rendered as:

   ... x*cos(t)

where the * got pushed to column 73.  So, *cos(t) gets chopped off.  No
compiler error.  AND no numerical error at t=0.

No, I didn't stay up all night thinking up this corner case.  I
encountered it in the wild.  After one day and many curses, I learned to
hate tabs...

Dave

On 3/8/11 12:45 PM, "PJ Weisberg" <pj@irregularexpressions.net> wrote:

>On Tue, Mar 8, 2011 at 10:25 AM, Strozzi, David J. <strozzi2@llnl.gov>
>wrote:
>> Hi,
>>
>> Thanks for the suggestion.  I warn you that I am an emacs "user" and not
>> "master."  I put these exact lines in my .emacs, restarted, did M-x
>>shell,
>> ls, same thing - tabs appear in the ls output, and emacs interprets them
>> as giving about 4 spaces.
>>
>> Is there something else I need to do to enable this?
>>
>> I don't understand lisp, so I am not smart enough to think of what I
>>need
>> to do to adapt this to my environment.
>
>My suggestion would be to put
>
>(add-hook 'shell-mode-hook (lambda()
>                             (setq tab-width 8)))
>
>in your .emacs instead of the code Valentin suggested.  (I would test
>it, but 'ls' doesn't output any tabs in shell mode when I try it.)
>
>-PJ
>




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

* Re: spacing of ls output in emacs shell
  2011-03-08 18:25   ` Strozzi, David J.
  2011-03-08 20:45     ` PJ Weisberg
@ 2011-03-10  8:19     ` Jonathan Groll
  1 sibling, 0 replies; 8+ messages in thread
From: Jonathan Groll @ 2011-03-10  8:19 UTC (permalink / raw)
  To: help-gnu-emacs

On Tue, 8 Mar 2011 10:25:56 -0800, "Strozzi, David J." <strozzi2@llnl.gov> wrote:

> Hi,
> 
> Thanks for the suggestion.  I warn you that I am an emacs "user" and not
> "master."  I put these exact lines in my .emacs, restarted, did M-x shell,
> ls, same thing - tabs appear in the ls output, and emacs interprets them
> as giving about 4 spaces.
> 
> Is there something else I need to do to enable this?
> 
> I don't understand lisp, so I am not smart enough to think of what I need
> to do to adapt this to my environment.

Tabs vs spaces, some reading on the problem:
http://cscs.umich.edu/~rlr/Misc/emacs_tabs.htm 

Tabs versus Spaces: An Eternal Holy War:
http://www.jwz.org/doc/tabs-vs-spaces.html

Cheers,
Jonathan
--
jjg: Jonathan J. Groll : groll co za
has_one { :blog => "http://bloggroll.com" }
Sent from my computer device which runs on free software



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

end of thread, other threads:[~2011-03-10  8:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <mailman.7.1299602618.24943.help-gnu-emacs@gnu.org>
2011-03-08 17:49 ` spacing of ls output in emacs shell Uday Reddy
2011-03-08 16:43 Strozzi, David J.
2011-03-08 17:46 ` Valentin Plechinger
2011-03-08 18:25   ` Strozzi, David J.
2011-03-08 20:45     ` PJ Weisberg
2011-03-08 20:54       ` Valentin Plechinger
2011-03-08 21:06       ` Strozzi, David J.
2011-03-10  8:19     ` Jonathan Groll

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).