unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Hadron Quark <hadronquark@gmail.com>
Subject: Re: Force spaces instead of tabs
Date: Tue, 10 Oct 2006 13:43:18 +0200	[thread overview]
Message-ID: <87u02cieg9.fsf@gmail.com> (raw)
In-Reply-To: 1160463886.894724.96810@i42g2000cwa.googlegroups.com

"Martin" <loveslave@frustratedhousewives.zzn.com> writes:

> I need to have emacs indent C++ code using only spaces, and no tab
> characters.
>
> I edited the options in the Programming/Languages/C group so that:
> C Basic Offset is 3
> C Tab Always Indent is "always indents"
> C Insert Tab Function is "insert-tab"
> C Syntactic Indentation is non-nil
> C Offsets Alist: substatement-open is 0
>
> In many cases, the indentation is correct, but when I have several
> levels of sub-statements, tab characters are inserted anyway. See the
> example below. What other options control this behaviour?
>
> void B::e()
> {
>    if ()
>    {
>       ;
>       if ()
>       {
> 	 ; // tab character at beginning of this line!
>       }
>       ;
>    }
> }
>

My C programming .el file has the following section - the 6th line is
probably what you are looking for - (setq indent-tabs-mode nil).

,----
| (defun my-c-mode-common-hook ()
|   (c-set-style "K&R")	     ; offset customizations not in my-c-style
|   (setq tab-width 3) ;; change this to taste, this is what K&R uses :)
|   (my-build-tab-stop-list tab-width)
|   (setq c-basic-offset tab-width)
|   (setq indent-tabs-mode nil)
| 
|   (defun find-tag-noconfirm ()
|     (interactive)
|     (find-tag (find-tag-default)))
| 
|   (defun find-tag-repeat ()
|     (interactive)
|     (find-tag nil t nil))
| 
|   (defun jump-man-page ()
|     (interactive)
|     (manual-entry (current-word)))
| 
|   (setq Man-notify-method 'newframe)
| 
|   (let ((dl '(
| 	    ([f1] . jump-man-page)
| 	    ([f5] . find-tag-noconfirm)
| 	    ([f6] . find-tag-repeat)
| 	    ([f7] . pop-tag-mark)
| 	    ([f2] . gdb-restore-windows)
| 	    ([f10] . compile)
| 	    ([f11] . next-error)
| 	    ([f12] . gdba))))
|     (dolist (i dl)
|       (define-key c-mode-map (car i) (cdr i))))
| )
| 
| (add-hook 'c-mode-common-hook 'my-c-mode-common-hook)
`----

The last line is probably of interest to you.

-- 

  parent reply	other threads:[~2006-10-10 11:43 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-10  7:04 Force spaces instead of tabs Martin
2006-10-10  8:20 ` ext-chunye.wang
2006-10-10  8:32   ` Martin
2006-10-10 11:43 ` Hadron Quark [this message]
2006-10-10 14:30 ` martin
2006-10-10 23:46 ` Giorgos Keramidas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87u02cieg9.fsf@gmail.com \
    --to=hadronquark@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).