mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-05 11:45:45 +00:00
* 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.
This commit is contained in:
parent
092c12b253
commit
8d4901dc71
@ -1,5 +1,17 @@
|
||||
2014-03-04 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* 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.
|
||||
|
@ -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])
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user