summaryrefslogtreecommitdiff
path: root/lisp/progmodes/cc-defs.el
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2010-01-19 22:10:19 +0000
committerAlan Mackenzie <acm@muc.de>2010-01-19 22:10:19 +0000
commit8ee04f3a4f72eb41f2c0ead6287185c829654b43 (patch)
treea07a29c1989fdf8813f13c17f7487cb3ffc58b45 /lisp/progmodes/cc-defs.el
parentbc4b76f12a306f8fbc892e6f1e00733f3ef1981f (diff)
downloademacs-8ee04f3a4f72eb41f2c0ead6287185c829654b43.tar.gz
emacs-8ee04f3a4f72eb41f2c0ead6287185c829654b43.tar.bz2
emacs-8ee04f3a4f72eb41f2c0ead6287185c829654b43.zip
Fix bug#5395: typing '#' in an empty C buffer throws "args out of range".
* progmodes/cc-defs.el: (c-set-cpp-delimiters, c-clear-cpp-delimiters): Check for EOB playing the role of delimiter.
Diffstat (limited to 'lisp/progmodes/cc-defs.el')
-rw-r--r--lisp/progmodes/cc-defs.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index de0cd896b8e..bb91dee6ce8 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -1217,12 +1217,14 @@ been put there by c-put-char-property. POINT remains unchanged."
;; This macro does a hidden buffer change.
`(progn
(c-put-char-property ,beg 'category 'c-cpp-delimiter)
- (c-put-char-property ,end 'category 'c-cpp-delimiter)))
+ (if (< ,end (point-max))
+ (c-put-char-property ,end 'category 'c-cpp-delimiter))))
(defmacro c-clear-cpp-delimiters (beg end)
;; This macro does a hidden buffer change.
`(progn
(c-clear-char-property ,beg 'category)
- (c-clear-char-property ,end 'category)))
+ (if (< ,end (point-max))
+ (c-clear-char-property ,end 'category))))
(defsubst c-comment-out-cpps ()
;; Render all preprocessor constructs syntactically commented out.