help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs seems to think tab width is two spaces


From: William Payne
Subject: emacs seems to think tab width is two spaces
Date: Thu, 29 Apr 2004 02:15:54 +0200

Hello, I use emacs for programming in C and C++. I have been modifying my
.emacs some lately, and now I noticed that emacs seems to think that the tab
width is suddenly two spaces instead of of three...I'm sure it's a simple
error in my .emacs, so I am posting it here:

(if (eq window-system 'w32)
    (progn
      (add-to-list 'load-path "c:/emacs-21.3/cc-mode-5.30.8")
      (set-face-font 'default
"-raster-Courier-normal-r-normal-normal-16-120-96-96-c-*-iso8859-1")
      (w32-send-sys-command ?\xf030) ; Start as maximized. Or use $
emacs --fullscreen
      ))

(standard-display-european t)
(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)

(setq scroll-bar-mode-explicit t)
(set-scroll-bar-mode 'right)

(setq line-number-mode t) ; Show line number in status bar.
(setq column-number-mode t) ; Show column in status bar.
(setq tab-width 3)
(setq case-fold-search t) ; A and a differs in search.
(setq default-case-fold-search nil) ; A and a does not differ in search.
(setq default-major-mode 'text-mode) ; Mode for unknown file type.
(setq blink-matching-paren-distance nil) ; Always show corresponding
parenthesis.
(setq next-line-add-newlines nil) ; Don't add new lines after EOF
(setq inhibit-startup-message t) ; No start-up message
(setq ask-about-buffer-names t) ; Be helpful
(setq completion-auto-help t) ; ...with buffer names.
(setq display-time-day-and-date t)
(setq display-time-24hr-format t)
(display-time) ; Show time formatted as specified above.
(setq-default indent-tabs-mode nil) ; Use spaces, not tabs, for indentation.


;; Pre-selected colors.
(set-background-color "Black")
(set-foreground-color "White")
(set-cursor-color "Cyan")

;; Set mode depending on file type.
(setq auto-mode-alist
      (append
       (list
        '("\\Makefile" . makefile-mode) ; Maybe use \\Makefile$ ?
        )
       auto-mode-alist
       )
      )

(defun williams-common-hook ()
  (c-toggle-hungry-state 1)
  (setq c-basic-offset 3)
(add-hook 'c-mode-common-hook 'williams-common-hook))

(defun my-c-hook ()
  (setq c-offsets-alist
        '(
          (string                . +)
          (c                     . c-lineup-C-comments)
          (defun-open            . 0)
          (defun-close           . 0)
          (defun-block-intro     . +)
;;          (class-open            . 0)
;;          (class-close           . 0)
          (inline-open           . 0)
          (inline-close          . 0)
          (ansi-funcdecl-cont    . +)
;;          (catch-clause          . 0)
          (knr-argdecl-intro     . +)
          (knr-argdecl           . 0)
          (topmost-intro         . 0)
          (topmost-intro-cont    . 0)
          (member-init-intro     . +) ; Maybe remove for C code?
          (member-init-cont      . 0) ; Maybe remove for C code?
;;          (inher-intro           . +)
;;          (inher-cont            . c-lineup-multi-inher)
          (block-open            . 0)
          (block-close           . 0)
          (brace-list-open       . 0)
          (brace-list-close      . 0)
          (brace-list-intro      . +)
          (brace-list-entry      . 0)
          (statement             . 0)
          (statement-cont        . +) ; Strings over multiple lines looks
good.
          (statement-block-intro . +)
          (statement-case-intro  . +)
          (statement-case-open   . 0)
;;          (namespace-open        . 0)
;;          (namespace-close       . 0)
;;          (innamespace           . +)
          (substatement          . +)
          (substatement-open     . 0)
          (case-label            . +)
          (access-label          . -) ; Maybe remove for C code?
          (label                 . 2) ; Hmm?
          (do-while-closure      . 0)
          (else-clause           . 0)
          (comment-intro         . c-lineup-comment)
          (arglist-intro         . +)
          (arglist-cont          . 0)
          (arglist-cont-nonempty . c-lineup-arglist)
          (arglist-close         . +)
;;          (stream-op             . c-lineup-streamop)
;;          (inclass               . +)
          (cpp-macro             . -) ;1000)
;;          (friend                . 0)
          )))
(add-hook 'c-mode-hook 'my-c-hook)

(defun williams-c++-hook ()
  (setq c-offsets-alist
        '(
          (string                . +)
          (c                     . c-lineup-C-comments)
          (defun-open            . 0)
          (defun-close           . 0)
          (defun-block-intro     . +)
          (class-open            . 0)
          (class-close           . 0)
          (inline-open           . 0)
          (inline-close          . 0)
          (ansi-funcdecl-cont    . +)
          (catch-clause          . 0)
;          (knr-argdecl-intro     . +)
;          (knr-argdecl           . 0)
          (topmost-intro         . 0)
          (topmost-intro-cont    . 0)
          (member-init-intro     . +)
          (member-init-cont      . 0)
          (inher-intro           . +)
          (inher-cont            . c-lineup-multi-inher)
          (block-open            . 0)
          (block-close           . 0)
          (brace-list-open       . 0)
          (brace-list-close      . 0)
          (brace-list-intro      . +)
          (brace-list-entry      . 0)
          (statement             . 0)
          (statement-cont        . +) ; Strings over multiple lines looks
good.
          (statement-block-intro . +)
          (statement-case-intro  . +)
          (statement-case-open   . 0)
          (namespace-open        . 0)
          (namespace-close       . 0)
          (innamespace           . +)
          (substatement          . +)
          (substatement-open     . 0)
          (case-label            . +)
          (access-label          . -)
          (label                 . 2) ; Hmm?
          (do-while-closure      . 0)
          (else-clause           . 0)
          (comment-intro         . c-lineup-comment)
          (arglist-intro         . +)
          (arglist-cont          . 0)
          (arglist-cont-nonempty . c-lineup-arglist)
          (arglist-close         . +)
          (stream-op             . c-lineup-streamop)
          (inclass               . +)
          (cpp-macro             . -1000)
          (friend                . 0)
          )))
(add-hook 'c++-mode-hook 'williams-c++-hook)

;; Change order of CR/LF. Will indent every new line.
(setq foo (global-key-binding "\C-m"))              ; Save CR binding.
(global-set-key "\C-m" (global-key-binding "\C-j")) ; Set CR to LF.
(global-set-key "\C-j" foo)                         ; Set LF to old CR.

(custom-set-variables)
(custom-set-faces
 '(font-lock-comment-face ((t (:foreground "Green"))))
 '(font-lock-reference-face ((((class color) (background light))
(:foreground "LightGreen"))))
 '(font-lock-string-face ((t (:foreground "Gray"))))
 '(font-lock-keyword-face ((t (:bold t :foreground "Cyan"))))
 '(font-lock-constant-face ((t (:foreground "Yellow"))))
 '(font-lock-type-face ((t (:bold t :foreground "White"))))
 '(font-lock-variable-name-face ((t (:foreground "Yellow"))))
 '(font-lock-function-name-face ((t (:foreground "Cyan"))))
 '(font-lock-builtin-face ((t (:bold t :foreground "LightGreen")))))

Sorry for posting the entire file, lots of it I am sure is not relevant for
the problem but I didn't want to risk leaving anything out that could be the
cause of this problem..If you happen notice improvements I could make to
this file I'd be happy to hear them as well.

Thanks for any replies

/ WP




reply via email to

[Prev in Thread] Current Thread [Next in Thread]