deletes forward. Otherwise it deletes backward.
Note: This is the way in XEmacs to choose the correct action for the
-\[delete] key, whichever key that means. Other flavors don't use this
+[delete] key, whichever key that means. Other flavors don't use this
function to control that."
(interactive "*P")
(if (and (fboundp 'delete-forward-p)
backward using `c-hungry-backspace'.
Note: This is the way in XEmacs to choose the correct action for the
-\[delete] key, whichever key that means. Other flavors don't use this
+[delete] key, whichever key that means. Other flavors don't use this
function to control that."
(interactive)
(if (and (fboundp 'delete-forward-p)
(eq (char-before) ?<))
(progn
(backward-char)
- (looking-at "\\s\("))))
+ (looking-at "\\s("))))
(and (eq (char-after) ?<)
- (not (looking-at "\\s\("))
+ (not (looking-at "\\s("))
(progn (c-backward-syntactic-ws)
(c-simple-skip-symbol-backward))
(or (looking-at c-opt-<>-sexp-key)
;; be the return type of a function, or the like. Exclude
;; this case.
(c-syntactic-re-search-forward
- (concat "[;=\(\[{]\\|\\("
+ (concat "[;=([{]\\|\\("
c-opt-block-decls-with-vars-key
"\\)")
eo-block t t t)
(match-beginning 1) ; Is there a "struct" etc., somewhere?
(not (eq (char-before) ?_))
- (c-syntactic-re-search-forward "[;=\(\[{]" eo-block t t t)
+ (c-syntactic-re-search-forward "[;=([{]" eo-block t t t)
(eq (char-before) ?\{)
bod)))))
(c-save-buffer-state
(beginning-of-defun-function end-of-defun-function
where pos name-end case-fold-search)
-
+
(save-restriction
(widen)
(save-excursion
\f
;; set up electric character functions to work with pending-del,
;; (a.k.a. delsel) mode. All symbols get the t value except
-;; the functions which delete, which gets 'supersede.
+;; the functions which delete, which gets 'supersede, and (from Emacs
+;; 25) `c-electric-brace' and `c-electric-paren' get special handling
+;; so as to work gracefully with `electric-pair-mode'.
(mapc
(function
(lambda (sym)
(put sym 'delete-selection t) ; for delsel (Emacs)
(put sym 'pending-delete t))) ; for pending-del (XEmacs)
'(c-electric-pound
- c-electric-brace
c-electric-slash
c-electric-star
c-electric-semi&comma
c-electric-lt-gt
- c-electric-colon
+ c-electric-colon))
+(mapc
+ (function
+ (lambda (sym)
+ (put sym 'delete-selection (if (fboundp 'delete-selection-uses-region-p)
+ 'delete-selection-uses-region-p
+ t))
+ (put sym 'pending-delete t)))
+ '(c-electric-brace
c-electric-paren))
(put 'c-electric-delete 'delete-selection 'supersede) ; delsel
(put 'c-electric-delete 'pending-delete 'supersede) ; pending-del
(if (< c-progress-interval (- now lastsecs))
(progn
(message "Indenting region... (%d%% complete)"
- (/ (* 100 (- (point) start)) (- end start)))
+ (floor (* 100.0 (- (point) start)) (- end start)))
(aset c-progress-info 2 now)))
)))
char description[] = \"\\
A very long description of something that you want to fill to make
-nicely formatted output.\"\;
+nicely formatted output.\";
If point is in any other situation, i.e. in normal code, do nothing.
\f
(cc-provide 'cc-cmds)
-;;; Local Variables:
-;;; indent-tabs-mode: t
-;;; tab-width: 8
-;;; End:
+;; Local Variables:
+;; indent-tabs-mode: t
+;; tab-width: 8
+;; End:
;;; cc-cmds.el ends here