Hi,

Emacs Ada mode v5.0 does not currently support some of the wide
character encodings that the GNAT reference manual specifies:
indentation breaks when using Brackets Encoding.

For example, where the intent is to write literals (or identifiers)

  X1 : Wide_String := "in ‰";  -- per mille sign
  X2 : Wide_String := "in €";  -- Euro sign
  X3 : Wide_Character := 'θ';  -- theta
  π : constant := Pi;  -- from Ada.Numerics (LRM)

then under some ASCII policy one would be writing, using brackets
encoding,

  X1 : Wide_String := "in ["2030"]";  -- per mille sign
  X2 : Wide_String := "in ["20AC"]";  -- Euro sign
  X3 : Wide_Character := '["03B8"]';  -- theta
  ["03C0"] : constant := Pi;  -- c&p from Ada.Numerics (GNAT)

GNAT translates these declarations as expected. Ada mode, however,
is not prepared to handle these, in part, I guess, because '['
and ']' cannot be identifier characters, and because the quotes
around the four hex digits in brackets would not otherwise be
legal in string literals (they do work, in GNAT brackets encoding).

Can this be handled in the lexer?


_______________________________________________
Emacs-ada-mode mailing list
[email protected]
http://host114.hostmonster.com/mailman/listinfo/emacs-ada-mode_stephe-leake.org

Reply via email to