[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Casing of number literals in ada-mode
From: |
jemarch |
Subject: |
Casing of number literals in ada-mode |
Date: |
Sun, 07 Feb 2010 23:06:02 +0100 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/23.1.91 (i686-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) |
Hi.
Appended is a little patch that makes ada-mode to not case number
literals to avoid situations like:
subtype U32 is range 16#0000_0000#..16#Ffff_Ffff#;
Note the Ffff_Ffff.
2010-02-06 Jose E. Marchesi <address@hidden>
* progmodes/ada-mode.el (ada-in-numeric-literal-p): New function.
(ada-adjust-case): Don't adjust case in hexadecimal number
literals.
=== modified file 'lisp/progmodes/ada-mode.el'
--- lisp/progmodes/ada-mode.el 2010-01-23 12:34:52 +0000
+++ lisp/progmodes/ada-mode.el 2010-02-07 22:02:29 +0000
@@ -1009,6 +1009,10 @@
(parse-partial-sexp
(line-beginning-position) (point)))))
+(defsubst ada-in-numeric-literal-p ()
+ "Return t if point is after a prefix of a numeric literal."
+ (looking-back "\\([0-9]+#[0-9a-fA-F_]+\\)"))
+
(defsubst ada-in-string-or-comment-p (&optional parse-result)
"Return t if inside a comment or string.
If PARSE-RESULT is non-nil, use it instead of calling `parse-partial-sexp'."
@@ -1606,6 +1610,8 @@
(eq (char-syntax (char-before)) ?w)
;; if in a string or a comment
(not (ada-in-string-or-comment-p))
+ ;; if in a numeric literal
+ (not (ada-in-numeric-literal-p))
)
(if (save-excursion
(forward-word -1)
- Casing of number literals in ada-mode,
jemarch <=