Natools

Check-in [a7eba2a389]
Login
Overview
Comment:s_expressions-printers-pretty-config: fix Read_Screen_Offset mangling its output parameter
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: a7eba2a3899be422847d1f9f42ff44c561494df3
User & Date: nat on 2014-03-23 13:31:27
Other Links: manifest | tags
Context
2014-03-24
20:08
s_expressions-atom_buffers-tests: add a test for the new Invert procedure check-in: df097015b8 user: nat tags: trunk
2014-03-23
13:31
s_expressions-printers-pretty-config: fix Read_Screen_Offset mangling its output parameter check-in: a7eba2a389 user: nat tags: trunk
2014-03-22
20:58
s_expressions-atom_buffers: new procedure to reverse the contents of an atom buffer check-in: 20f1537eb4 user: nat tags: trunk
Changes

Modified src/natools-s_expressions-printers-pretty-config.adb from [25b0bd7c3c] to [4aefa3cb01].

14
15
16
17
18
19
20
21

22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

43
44
45
46
47
48
49
14
15
16
17
18
19
20

21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

42
43
44
45
46
47
48
49







-
+




















-
+







-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.           --
------------------------------------------------------------------------------

package body Natools.S_Expressions.Printers.Pretty.Config is

   procedure Read_Screen_Offset
     (Expression : in out Lockable.Descriptor'Class;
      Value : out Screen_Offset;
      Value : in out Screen_Offset;
      Has_Value : out Boolean);
      --  Decode a screen offset from a S-expression

   procedure Update_Casing
     (Casing : in out Encodings.Hex_Casing;
      Name : in Atom);

   function To_Atom (Value : in Screen_Offset) return Atom;
   function To_Atom (Before, After : in Entity) return Atom;

   function To_String (Value : in Entity) return String;



   ------------------------------
   -- Local Helper Subprograms --
   ------------------------------

   procedure Read_Screen_Offset
     (Expression : in out Lockable.Descriptor'Class;
      Value : out Screen_Offset;
      Value : in out Screen_Offset;
      Has_Value : out Boolean)
   is
      Result : Screen_Offset := 0;
   begin
      Has_Value := False;

      if Expression.Current_Event /= Events.Add_Atom then
552
553
554
555
556
557
558
559

560
561
562
563
564
565
566
552
553
554
555
556
557
558

559
560
561
562
563
564
565
566







-
+







   procedure Execute
     (Self : in out Set_Tab_Stop;
      State : in out Parameters;
      Context : in Boolean;
      Cmd : in out Lockable.Descriptor'Class)
   is
      pragma Unreferenced (Self, Context);
      Value : Screen_Offset;
      Value : Screen_Offset := 0;
      Has_Value : Boolean;
   begin
      Cmd.Next;
      Read_Screen_Offset (Cmd, Value, Has_Value);
      if Has_Value and then Value /= 0 then
         State.Tab_Stop := Value;
      end if;