emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Casing of number literals in ada-mode


From: Chong Yidong
Subject: Re: Casing of number literals in ada-mode
Date: Sun, 07 Feb 2010 20:32:01 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.92 (gnu/linux)

Hi Stephen, could you check this patch?  If it's OK, we can commit it.
Thanks.


address@hidden writes:

> 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)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]