From: Stefan Monnier Date: Tue, 4 Mar 2014 04:03:34 +0000 (-0500) Subject: * lisp/electric.el (electric-indent-mode-has-been-called): Remove. X-Git-Tag: emacs-24.3.90~300 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=8d4901dc71b59fce4fd2d1591da120270a6bbabb;p=emacs.git * lisp/electric.el (electric-indent-mode-has-been-called): Remove. (electric-indent-mode): Fix accordingly. * lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Only hook into electric-indent-mode-hook if we obey electric-indent-mode. (c-basic-common-init): Use (fboundp 'electric-indent-local-mode) to decide whether we obey electric-indent-mode. (c-change-set-fl-decl-start, c-extend-after-change-region): Silence warnings. (c-electric-indent-mode-hook): Assume we do want to obey electric-indent-mode. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2585d41bbb4..e75f2cc3190 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,17 @@ 2014-03-04 Stefan Monnier + * progmodes/cc-mode.el (c-initialize-cc-mode): Only hook into + electric-indent-mode-hook if we obey electric-indent-mode. + (c-basic-common-init): Use (fboundp 'electric-indent-local-mode) to + decide whether we obey electric-indent-mode. + (c-change-set-fl-decl-start, c-extend-after-change-region): + Silence warnings. + (c-electric-indent-mode-hook): Assume we do want to obey + electric-indent-mode. + + * electric.el (electric-indent-mode-has-been-called): Remove. + (electric-indent-mode): Fix accordingly. + * files.el (hack-local-variables): Mention file name in warning. * htmlfontify.el (hfy-fontify-buffer): Drop `invis-range' message. diff --git a/lisp/electric.el b/lisp/electric.el index 992553685e2..3e19d9b23b1 100644 --- a/lisp/electric.el +++ b/lisp/electric.el @@ -286,9 +286,7 @@ mode set `electric-indent-inhibit', but this can be used as a workaround.") (let ((electric-indent-mode nil)) (newline arg 'interactive))) -(defvar electric-indent-mode-has-been-called 0 - "How many times has `electric-indent-mode' been called? -It's > 1 if it's been called at least once by the user.") + ;;;###autoload (define-minor-mode electric-indent-mode "Toggle on-the-fly reindentation (Electric Indent mode). @@ -302,8 +300,6 @@ insert a character from `electric-indent-chars'." :global t :group 'electricity :initialize 'custom-initialize-delay :init-value t - (setq electric-indent-mode-has-been-called - (1+ electric-indent-mode-has-been-called)) (if (not electric-indent-mode) (progn (when (eq (lookup-key global-map [?\C-j]) diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el index 9b18bbf82a9..1ce076734ff 100644 --- a/lisp/progmodes/cc-mode.el +++ b/lisp/progmodes/cc-mode.el @@ -75,7 +75,7 @@ ;; For Emacs < 22.2. (eval-and-compile - (unless (fboundp 'declare-function) (defmacro declare-function (&rest r)))) + (unless (fboundp 'declare-function) (defmacro declare-function (&rest _r)))) (eval-when-compile (let ((load-path @@ -190,11 +190,10 @@ control). See \"cc-mode.el\" for more info." (add-hook 'change-major-mode-hook 'c-leave-cc-mode-mode) (setq c-initialization-ok t) ;; Connect up with Emacs's electric-indent-mode, for >= Emacs 24.4 - (when (fboundp 'electric-indent-mode) + (when (fboundp 'electric-indent-local-mode) (add-hook 'electric-indent-mode-hook 'c-electric-indent-mode-hook) - (when (fboundp 'electric-indent-local-mode) - (add-hook 'electric-indent-local-mode-hook - 'c-electric-indent-local-mode-hook)))) + (add-hook 'electric-indent-local-mode-hook + 'c-electric-indent-local-mode-hook))) ;; Will try initialization hooks again if they failed. (put 'c-initialize-cc-mode initprop c-initialization-ok)))) @@ -588,8 +587,9 @@ that requires a literal mode spec at compile time." ;; messing up CC Mode's, and set `c-electric-flag' if `electric-indent-mode' ;; has been called by the user. (when (boundp 'electric-indent-inhibit) (setq electric-indent-inhibit t)) - (when (and (boundp 'electric-indent-mode-has-been-called) - (> electric-indent-mode-has-been-called 1)) + ;; CC-mode should obey Emacs's generic preferences, tho only do it if + ;; Emacs's generic preferences can be set per-buffer (Emacs>=24.4). + (when (fboundp 'electric-indent-local-mode) (setq c-electric-flag electric-indent-mode)) ;; ;; Put submode indicators onto minor-mode-alist, but only once. @@ -1165,7 +1165,7 @@ Note that the style variables are always made local to the buffer." (backward-char)) new-pos)) ; back over (, [, <. -(defun c-change-set-fl-decl-start (beg end old-len) +(defun c-change-set-fl-decl-start (_beg _end _old-len) ;; Set c-new-BEG to the beginning of a "local" declaration if it('s BOL) is ;; inside one. This is called from an after-change-function, but the ;; parameters BEG END and OLD-LEN are ignored. See `c-set-fl-decl-start' @@ -1239,7 +1239,7 @@ This function is called from `c-common-init', once per mode initialization." (make-local-hook 'font-lock-mode-hook)) (add-hook 'font-lock-mode-hook 'c-after-font-lock-init nil t)) -(defun c-extend-after-change-region (beg end old-len) +(defun c-extend-after-change-region (_beg _end _old-len) "Extend the region to be fontified, if necessary." ;; Note: the parameters are ignored here. This somewhat indirect ;; implementation exists because it is minimally different from the @@ -1256,15 +1256,13 @@ This function is called from `c-common-init', once per mode initialization." (defun c-electric-indent-mode-hook () ;; Emacs has en/disabled `electric-indent-mode'. Propagate this through to ;; each CC Mode buffer. - (when (and (boundp 'electric-indent-mode-has-been-called) - (> electric-indent-mode-has-been-called 1)) - (mapc (lambda (buf) - (with-current-buffer buf - (when c-buffer-is-cc-mode - ;; Don't use `c-toggle-electric-state' here due to recursion. - (setq c-electric-flag electric-indent-mode) - (c-update-modeline)))) - (buffer-list)))) + (mapc (lambda (buf) + (with-current-buffer buf + (when c-buffer-is-cc-mode + ;; Don't use `c-toggle-electric-state' here due to recursion. + (setq c-electric-flag electric-indent-mode) + (c-update-modeline)))) + (buffer-list))) (defun c-electric-indent-local-mode-hook () ;; Emacs has en/disabled `electric-indent-local-mode' for this buffer.