changeset 13636:a120308bfe29

(cmpl-make-standard-completion-syntax-table) (cmpl-make-c-def-completion-syntax-table): Use make-syntax-table. (completion-c-mode-hook): Encapsulate C-mode changes in new function. Either call it now or put it on c-mode-hook.
author Richard M. Stallman <rms@gnu.org>
date Fri, 24 Nov 1995 22:20:07 +0000
parents a48a11952cc7
children 0b081d93ee6c
files lisp/completion.el
diffstat 1 files changed, 12 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/completion.el	Fri Nov 24 22:19:32 1995 +0000
+++ b/lisp/completion.el	Fri Nov 24 22:20:07 1995 +0000
@@ -3,7 +3,7 @@
 
 ;; Maintainer: FSF
 ;; Keywords: abbrev
-;; Author: Jim Salem <salem@think.com> of Thinking Machines Inc.
+;; Author: Jim Salem <alem@bbnplanet.com> of Thinking Machines Inc.
 ;;  (ideas suggested by Brewster Kahle)
 
 ;; This file is part of GNU Emacs.
@@ -526,7 +526,7 @@
 ;;;-----------------------------------------------
 
 (defun cmpl-make-standard-completion-syntax-table ()
-  (let ((table (make-vector 256 0)) ;; default syntax is whitespace
+  (let ((table (make-syntax-table)) ;; default syntax is whitespace
 	i)
     ;; alpha chars
     (setq i 0)
@@ -2041,7 +2041,7 @@
 ;;; Everything else has word syntax
 
 (defun cmpl-make-c-def-completion-syntax-table ()
-  (let ((table (make-vector 256 0))
+  (let ((table (make-syntax-table))
 	(whitespace-chars '(?  ?\n ?\t ?\f  ?\v ?\r))
 	;; unfortunately the ?( causes the parens to appear unbalanced
 	(separator-chars '(?, ?* ?= ?\( ?\;
@@ -2624,10 +2624,15 @@
 (define-key lisp-mode-map "^" 'self-insert-command)
 
 ;;; C mode diffs.
-(def-completion-wrapper electric-c-semi :separator)
-(define-key c-mode-map "+" 'completion-separator-self-insert-command)
-(define-key c-mode-map "*" 'completion-separator-self-insert-command)
-(define-key c-mode-map "/" 'completion-separator-self-insert-command)
+(defun completion-c-mode-hook ()
+  (def-completion-wrapper electric-c-semi :separator)
+  (define-key c-mode-map "+" 'completion-separator-self-insert-command)
+  (define-key c-mode-map "*" 'completion-separator-self-insert-command)
+  (define-key c-mode-map "/" 'completion-separator-self-insert-command))
+;; Do this either now or whenever C mode is loaded.
+(if (featurep 'cc-mode)
+    (completion-c-mode-hook)
+  (add-hook 'c-mode-hook 'completion-c-mode-hook))
 
 ;;; FORTRAN mode diffs. (these are defined when fortran is called)
 (defun completion-setup-fortran-mode ()