DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦d68acdab1⟧ TextFile

    Length: 19806 (0x4d5e)
    Types: TextFile
    Notes: R1k Text-file segment

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦98e627449⟧ 
            └─⟦this⟧ 

TextFile

February 22, 1994 at 1:54:33 PM

MESSAGE: Rational Environment
MESSAGE:     D_12_7_3 Copyright 1992, by Rational.

Executing command procedure
MESSAGE: Kill failed -  191 is not a job on your session.
********** BEEP ***********

MESSAGE: Kill failed -  241 is not a job on your session.
********** BEEP ***********

MESSAGE: Rational_Access Commands Rev 1_0_1 (Job 241) is not a job on your session.
MESSAGE: Disable failed -  241 is not on session s_1
********** BEEP ***********

MESSAGE: Kill failed -  191 is not an active user job.
********** BEEP ***********


Executing Ada.Demote
MESSAGE: INTERMEDIATE_CODE'Spec changed to INSTALLED

Executing Ada.Demote
MESSAGE: Demote failed - would obsolesce other units
********** BEEP ***********


Executing Ada.Promote
MESSAGE: INTERMEDIATE_CODE'Spec changed to INSTALLED

Executing Ada.Promote
MESSAGE: INTERMEDIATE_CODE'Spec changed to CODED
MESSAGE: This image is read-only

Executing Ada.Promote
MESSAGE: INTERMEDIATE_CODE'Body changed to INSTALLED

Executing Ada.Promote
MESSAGE: INTERMEDIATE_CODE'Body changed to CODED

Executing Ada.Enclosing
MESSAGE: This image is read-only

Executing Ada.Promote
MESSAGE: ROLE'Spec changed to INSTALLED

Executing Ada.Promote
MESSAGE: ROLE'Spec changed to CODED
MESSAGE: The cursor is not in a window

Executing Ada.Definition
MESSAGE: This image is read-only

Executing Ada.Demote
MESSAGE: ROLE'Spec changed to INSTALLED

Executing Ada.Demote
MESSAGE: ROLE'Spec changed to SOURCE

Executing Ada.Promote
MESSAGE: ROLE'Spec changed to INSTALLED

Executing Ada.Promote
MESSAGE: ROLE'Spec changed to CODED
MESSAGE: This image is read-only

Executing Ada.Semanticize
MESSAGE: Semantic errors found
********** BEEP ***********


Executing Ada.Semanticize
MESSAGE: No semantic errors

Executing Ada.Promote
MESSAGE: ROLE'Body changed to INSTALLED

Executing Ada.Promote
MESSAGE: ROLE'Body changed to CODED

Executing Ada.Enclosing

Executing Ada.Promote
MESSAGE: SCENE'Spec changed to INSTALLED

Executing Ada.Promote
MESSAGE: SCENE'Spec changed to CODED
MESSAGE: Operation failed - SCENE is locked by FURSTENB.S_1 Job 195
********** BEEP ***********

MESSAGE: Operation failed - SCENE is locked by FURSTENB.S_1 Job 195
********** BEEP ***********

MESSAGE: "s_1" is not an accessible session.
********** BEEP ***********

MESSAGE: Kill failed -  195 is not a job on your session.
********** BEEP ***********

MESSAGE: [FURSTENB.S_1 Editor] (Job 195) is not a job on your session.
MESSAGE: Enable failed -  195 is not a job on your session.
********** BEEP ***********

MESSAGE: "S_2" is not an accessible session.
********** BEEP ***********

MESSAGE: Select and position the cursor over the object to demote
********** BEEP ***********

*** Cursor not in selection doing demote in Library_Object_Editor.Actuals.Demote ***
*** Loe_Error in Library_Object_Editor.Actuals.Demote ***
MESSAGE: "S_1" is not an accessible session.
********** BEEP ***********

MESSAGE: "S_1" is not an accessible session.
********** BEEP ***********

MESSAGE: from System: 2:08:30 PM;  Snapshot will start in 20 seconds
********** BEEP ***********

MESSAGE: from System: 2:09:38 PM;  Snapshot has completed
********** BEEP ***********


Executing Ada.Definition
MESSAGE: This image is read-only

Executing Ada.Semanticize
MESSAGE: No semantic errors

Executing Ada.Promote
MESSAGE: SCENE'Body changed to INSTALLED

Executing Ada.Promote
MESSAGE: SCENE'Body changed to CODED

Executing Ada.Enclosing
MESSAGE: TEST_SCENE'Body changed to INSTALLED
MESSAGE: TEST_SCENE'Body changed to CODED

Executing command procedure

Executing command procedure
Command was compiled and executed

Executing Ada.Definition

Executing Ada.Enclosing

Executing Ada.Edit
MESSAGE: Anonymous is created

Executing Ada.Semanticize
MESSAGE: No semantic errors

Executing Ada.Promote
MESSAGE: TEST_GLOBAL'Spec changed to INSTALLED

Executing Ada.Create_Body

Executing Ada.Promote
MESSAGE: TEST_GLOBAL'Spec changed to CODED
MESSAGE: 
MESSAGE: 
MESSAGE: 

Executing Ada.Enclosing
MESSAGE: The cursor is not in a window
MESSAGE: 

Executing Ada.Enclosing

Executing Ada.Semanticize
MESSAGE: Semantic errors found
********** BEEP ***********


Executing Ada.Semanticize
MESSAGE: No semantic errors

Executing Ada.Promote
MESSAGE: TEST_GLOBAL'Body changed to INSTALLED

Executing Ada.Promote
MESSAGE: TEST_GLOBAL'Body changed to CODED

Executing Ada.Promote

Executing command procedure

Executing command procedure
Status from Execution.Execute_Command: SUCCESSFUL
MESSAGE: UNITS.MOTOR.TEST_GLOBAL'BODY'V(3) % "!USERS.MATHIS.PROJET.REV1_FURSTEN_WORKING.UNITS.MOTOR".TEST_GLOBAL terminated due to unhandled exception !Io.Io_Exceptions.Name_Error (nonexistent object)
********** BEEP ***********

Command execution exception (numeric):  291

Executing command procedure

Executing command procedure
Status from Execution.Execute_Command: SUCCESSFUL
MESSAGE: REV1_FURSTEN_WORKING.UNITS.MOTOR % "!USERS.MATHIS.PROJET.REV1_FURSTEN_WORKING.UNITS.MOTOR".TEST_GLOBAL terminated due to unhandled exception !Io.Io_Exceptions.Name_Error (nonexistent object)
********** BEEP ***********

Command execution exception (numeric):  291

Executing command procedure

Executing command procedure
Status from Execution.Execute_Command: SUCCESSFUL
MESSAGE: REV1_FURSTEN_WORKING.UNITS.MOTOR % "!USERS.MATHIS.PROJET.REV1_FURSTEN_WORKING.UNITS.MOTOR".TEST_GLOBAL terminated due to unhandled exception !Io.Io_Exceptions.End_Error
********** BEEP ***********

Command execution exception (numeric):  336

Executing Ada.Enclosing

Executing Ada.Demote
MESSAGE: ROLE'Body changed to INSTALLED

Executing Ada.Edit
MESSAGE: ROLE'Body changed to SOURCE

Executing Ada.Definition

Executing Ada.Demote
MESSAGE: INTERMEDIATE_CODE'Spec changed to INSTALLED

Executing Ada.Object.Insert

Executing Ada.Promote
MESSAGE: Declaration list changed to INSTALLED

Executing Ada.Promote
MESSAGE: INTERMEDIATE_CODE'Spec changed to CODED

Executing Ada.Definition

Executing Ada.Object.Insert

Executing Ada.Promote
MESSAGE: Declaration list changed to INSTALLED

Executing Ada.Promote
MESSAGE: INTERMEDIATE_CODE'Body changed to CODED

Executing Ada.Promote
MESSAGE: ROLE'Body changed to INSTALLED

Executing Ada.Promote
MESSAGE: ROLE'Body changed to CODED

Executing Ada.Enclosing

Executing Ada.Promote
MESSAGE: SCENE'Body changed to CODED

Executing Ada.Enclosing

Executing Ada.Promote
MESSAGE: TEST_GLOBAL'Body changed to CODED

Executing Ada.Promote

Executing command procedure

Executing command procedure
Status from Execution.Execute_Command: SUCCESSFUL
MESSAGE: UNITS.MOTOR.TEST_GLOBAL'BODY'V(3) % "!USERS.MATHIS.PROJET.REV1_FURSTEN_WORKING.UNITS.MOTOR".TEST_GLOBAL terminated due to unhandled exception !Io.Io_Exceptions.End_Error
********** BEEP ***********

Command execution exception (numeric):  336

Executing Ada.Definition
found no referencer for DN_STRING_LITERAL
MESSAGE: Definition failed - not found
********** BEEP ***********

MESSAGE: The cursor is not in a window

Executing Ada.Enclosing
MESSAGE: File has been changed.  Current contents will be displayed.

Executing command procedure

Executing command procedure
Status from Execution.Execute_Command: SUCCESSFUL
MESSAGE: REV1_FURSTEN_WORKING.UNITS.MOTOR % "!USERS.MATHIS.PROJET.REV1_FURSTEN_WORKING.UNITS.MOTOR".TEST_GLOBAL terminated due to unhandled exception !Io.Io_Exceptions.End_Error
********** BEEP ***********

Command execution exception (numeric):  336
MESSAGE: File has been changed.  Current contents will be displayed.
MESSAGE: from System: 2:38:30 PM;  Snapshot will start in 20 seconds
********** BEEP ***********


Executing Ada.Definition

Executing Ada.Definition
MESSAGE: from System: 2:39:48 PM;  Snapshot has completed
********** BEEP ***********


Executing Ada.Promote
MESSAGE: INTERMEDIATE_CODE'Body changed to INSTALLED

Executing Ada.Promote
MESSAGE: INTERMEDIATE_CODE'Body changed to CODED
MESSAGE: The cursor is not in a window
MESSAGE: The cursor is not in a window

Executing Ada.Enclosing

Executing Ada.Enclosing

Executing Ada.Demote
MESSAGE: TEST_GLOBAL'Body changed to INSTALLED

Executing Ada.Demote
MESSAGE: TEST_GLOBAL'Body changed to SOURCE
MESSAGE: 

Executing Ada.Promote
MESSAGE: TEST_GLOBAL'Body changed to INSTALLED

Executing Ada.Promote
MESSAGE: TEST_GLOBAL'Body changed to CODED

Executing Ada.Promote

Executing command procedure

Executing command procedure
Status from Execution.Execute_Command: SUCCESSFUL
MESSAGE: UNITS.MOTOR.TEST_GLOBAL'BODY'V(4) % "!USERS.MATHIS.PROJET.REV1_FURSTEN_WORKING.UNITS.MOTOR".TEST_GLOBAL terminated due to unhandled exception !Io.Io_Exceptions.End_Error
********** BEEP ***********

Command execution exception (numeric):  336

Executing Ada.Enclosing
MESSAGE: File has been changed.  Current contents will be displayed.

Executing Ada.Demote
MESSAGE: TEST_SCENE'Body changed to SOURCE

Executing Ada.Promote
MESSAGE: TEST_SCENE'Body changed to INSTALLED

Executing Ada.Promote
MESSAGE: TEST_SCENE'Body changed to CODED

Executing Ada.Definition

Executing Ada.Promote

Executing command procedure

Executing command procedure
Status from Execution.Execute_Command: SUCCESSFUL
MESSAGE: UNITS.MOTOR.TEST_SCENE'SPEC'V(5) % "!USERS.MATHIS.PROJET.REV1_FURSTEN_WORKING.UNITS.MOTOR".TEST_SCENE terminated due to unhandled exception !Io.Io_Exceptions.End_Error
********** BEEP ***********

Command execution exception (numeric):  336

Executing Ada.Enclosing

Executing command procedure

Executing command procedure
Command was compiled and executed

Executing command procedure

Executing command procedure
Command was compiled and executed
*** Exception: Numeric_Error (overflow), from PC = #7FB80E, #24FE in Library_Object_Editor.Actuals.Get_Object ***
*** Exception: Numeric_Error (overflow), from PC = #7FB80E, #24FE in Library_Object_Editor.Actuals.Get_Object ***

Executing Ada.Demote
MESSAGE: INTERMEDIATE_CODE'Body changed to INSTALLED
*** Exception: Numeric_Error (overflow), from PC = #7FB80E, #24FE in Library_Object_Editor.Actuals.Get_Object ***
*** Exception: Numeric_Error (overflow), from PC = #7FB80E, #24FE in Library_Object_Editor.Actuals.Get_Object ***

Executing Ada.Object.Insert

Executing Ada.Promote
MESSAGE: Statement list changed to INSTALLED

Executing Ada.Edit
MESSAGE: Incrementally demoted Statement

Executing Ada.Promote
MESSAGE: Statement list changed to INSTALLED

Executing Ada.Promote
MESSAGE: INTERMEDIATE_CODE'Body changed to CODED

Executing command procedure

Executing command procedure
Status from Execution.Execute_Command: SUCCESSFUL
MESSAGE: REV1_FURSTEN_WORKING.UNITS.MOTOR % "!USERS.MATHIS.PROJET.REV1_FURSTEN_WORKING.UNITS.MOTOR".TEST_GLOBAL terminated due to unhandled exception !Io.Io_Exceptions.End_Error
********** BEEP ***********

Command execution exception (numeric):  336

Executing Ada.Demote
MESSAGE: TEST_GLOBAL'Body changed to INSTALLED

Executing Ada.Demote
MESSAGE: TEST_GLOBAL'Body changed to SOURCE
MESSAGE: 
MESSAGE: 
MESSAGE: 
MESSAGE: 
MESSAGE: 
MESSAGE: 
MESSAGE: 
MESSAGE: 
MESSAGE: 
MESSAGE: 
MESSAGE: 
MESSAGE: 
MESSAGE: 
MESSAGE: 
MESSAGE: 
MESSAGE: 

Executing Ada.Promote
MESSAGE: TEST_GLOBAL'Body changed to INSTALLED

Executing Ada.Promote
MESSAGE: TEST_GLOBAL'Body changed to CODED

Executing command procedure

Executing command procedure
Status from Execution.Execute_Command: SUCCESSFUL
MESSAGE: REV1_FURSTEN_WORKING.UNITS.MOTOR % "!USERS.MATHIS.PROJET.REV1_FURSTEN_WORKING.UNITS.MOTOR".TEST_GLOBAL terminated due to unhandled exception !Io.Io_Exceptions.End_Error
********** BEEP ***********

Command execution exception (numeric):  336
MESSAGE: File has been changed.  Current contents will be displayed.

Executing Ada.Enclosing

Executing Ada.Promote

Executing command procedure

Executing command procedure
Command was compiled and executed

Executing Ada.Demote
MESSAGE: INTERMEDIATE_CODE'Body changed to INSTALLED

Executing Ada.Definition

Executing Ada.Definition

Executing Ada.Edit
MESSAGE: Incrementally demoted PUT'Body

Executing Ada.Promote
MESSAGE: Declaration list changed to INSTALLED

Executing Ada.Promote
MESSAGE: INTERMEDIATE_CODE'Body changed to CODED

Executing Ada.Enclosing

Executing command procedure

Executing command procedure
Command was compiled and executed

Executing command procedure

Executing command procedure
Command was compiled and executed

Executing Ada.Demote
MESSAGE: INTERMEDIATE_CODE'Body changed to INSTALLED

Executing Ada.Edit
MESSAGE: Incrementally demoted Comment

Executing Ada.Promote
MESSAGE: Statement list changed to INSTALLED

Executing Ada.Object.Delete
MESSAGE: Delete failed - needs a selection with the cursor in it
********** BEEP ***********


Executing Ada.Object.Delete
MESSAGE: Delete failed - needs a selection with the cursor in it
********** BEEP ***********


Executing Ada.Definition
MESSAGE: Definition failed - not found
********** BEEP ***********


Executing Ada.Demote
MESSAGE: INTERMEDIATE_CODE'Body changed to SOURCE

Executing Ada.Promote
MESSAGE: INTERMEDIATE_CODE'Body changed to INSTALLED

Executing Ada.Promote
MESSAGE: INTERMEDIATE_CODE'Body changed to CODED

Executing Ada.Enclosing
MESSAGE: Can't display - the object is a library
********** BEEP ***********

MESSAGE: Can't display - the object is a library
********** BEEP ***********

MESSAGE: The cursor is not in a window
MESSAGE: The cursor is not in a window
MESSAGE: Could not resolve <CURSOR> (UNSUCCESSFUL) 
********** BEEP ***********

MESSAGE: The cursor is not in a window
MESSAGE: The cursor is not in a window

Executing Ada.Enclosing

Executing command procedure

Executing command procedure
MESSAGE:  1: ERROR !USERS.MATHIS.PROJET.REV1_FURSTEN_WORKING.UNITS.DEBUG is not coded

Executing Ada.Promote
MESSAGE: Cursor must be in a selection to execute
********** BEEP ***********


Executing command procedure

Executing command procedure
MESSAGE:  1: ERROR !USERS.MATHIS.PROJET.REV1_FURSTEN_WORKING.UNITS.DEBUG is not coded

Executing command procedure

Executing command procedure
MESSAGE:  1: ERROR !USERS.MATHIS.PROJET.REV1_FURSTEN_WORKING.UNITS.DEBUG is not coded

Executing command procedure

Executing command procedure
MESSAGE:  1: ERROR !USERS.MATHIS.PROJET.REV1_FURSTEN_WORKING.UNITS.DEBUG is not coded

Executing command procedure

Executing command procedure
MESSAGE: !local.tmp.FURSTENB15_05_23 spooled to Aconit
Command was compiled and executed

Executing command procedure

Executing command procedure
MESSAGE: !local.tmp.FURSTENB15_06_30 spooled to Aconit
Command was compiled and executed
MESSAGE: from System: 3:08:30 PM;  Snapshot will start in 20 seconds
********** BEEP ***********


Executing Ada.Demote
MESSAGE: User Interrupt: UNITS.MOTOR.SCENE'SPEC'V(12) % COMPILE.DEMOTE (Job 214) queued
MESSAGE: SCENE'Spec changed to INSTALLED
MESSAGE: UNITS.MOTOR.SCENE'SPEC'V(12) % COMPILE.DEMOTE has been aborted

Executing Ada.Edit
MESSAGE: Edit failed - object is not checked out
********** BEEP ***********


Executing Ada.Promote
MESSAGE: User Interrupt: UNITS.MOTOR.SCENE'SPEC'V(12) % COMPILE.PROMOTE (Job 219) queued
MESSAGE: User Interrupt: "!COMMANDS".Job.Kill (The_Job => 219, The_Session => ""); (Job 191) queued
MESSAGE: from System: 3:10:02 PM;  Snapshot has completed
********** BEEP ***********

MESSAGE: "!COMMANDS".Job.Kill (The_Job => 219, The_Session => ""); has been aborted
MESSAGE: SCENE'Spec changed to CODED
MESSAGE: CMVC Check Out terminated: ** Errors Generated **
MESSAGE: UNITS.MOTOR.SCENE'SPEC'V(12) % COMPILE.PROMOTE has completed

Executing Ada.Edit
MESSAGE: Demote failed - would obsolesce other units
********** BEEP ***********

MESSAGE: demote failed - there must be a selection
********** BEEP ***********


Executing Ada.Demote
MESSAGE: Demote failed - would obsolesce other units
********** BEEP ***********


Executing Ada.Demote
MESSAGE: SCENE'Spec changed to INSTALLED

Executing Ada.Demote
MESSAGE: Demote failed - would obsolesce other units
********** BEEP ***********

MESSAGE: single line selection needed
********** BEEP ***********


Executing Ada.Promote
MESSAGE: SCENE'Spec changed to INSTALLED

Executing Ada.Promote
MESSAGE: SCENE'Spec changed to CODED
MESSAGE: This image is read-only

Executing Ada.Semanticize
MESSAGE: No semantic errors

Executing Ada.Promote
MESSAGE: SCENE'Body changed to INSTALLED

Executing Ada.Promote
MESSAGE: SCENE'Body changed to CODED

Executing Ada.Enclosing
MESSAGE: This image is read-only

Executing Ada.Promote
MESSAGE: TEST_SCENE'Body changed to INSTALLED

Executing Ada.Promote
MESSAGE: TEST_SCENE'Body changed to CODED

Executing Ada.Promote

Executing command procedure

Executing command procedure
Command was compiled and executed

Executing command procedure

Executing command procedure
Command was compiled and executed

Executing command procedure

Executing command procedure
MESSAGE: !local.tmp.FURSTENB15_17_46 spooled to Aconit
Command was compiled and executed
MESSAGE: from System: 3:38:30 PM;  Snapshot will start in 20 seconds
********** BEEP ***********

MESSAGE: from System: 3:39:51 PM;  Snapshot has completed
********** BEEP ***********
February 22, 1994 at 3:54:18 PM stopping Debugger
February 22, 1994 at 3:54:18 PM stopped Debugger
February 22, 1994 at 3:54:19 PM stopping TEXT
February 22, 1994 at 3:54:19 PM stopped TEXT
February 22, 1994 at 3:54:19 PM stopping COMMAND
February 22, 1994 at 3:54:20 PM stopped COMMAND
February 22, 1994 at 3:54:20 PM stopping LIBRARY
February 22, 1994 at 3:54:20 PM stopped LIBRARY
February 22, 1994 at 3:54:20 PM stopping help
February 22, 1994 at 3:54:20 PM stopped help
February 22, 1994 at 3:54:20 PM stopping JOBS
February 22, 1994 at 3:54:21 PM stopped JOBS
February 22, 1994 at 3:54:21 PM stopping ADA
February 22, 1994 at 3:54:22 PM stopped ADA
February 22, 1994 at 3:54:22 PM stopping DIANA
February 22, 1994 at 3:54:23 PM stopped DIANA
February 22, 1994 at 3:54:23 PM stopping COMPLETION
February 22, 1994 at 3:54:23 PM stopped COMPLETION
February 22, 1994 at 3:54:23 PM stopping menu
February 22, 1994 at 3:54:24 PM stopped menu
February 22, 1994 at 3:54:24 PM stopping windows
February 22, 1994 at 3:54:24 PM stopped windows
February 22, 1994 at 3:54:24 PM stopping mail
February 22, 1994 at 3:54:24 PM stopped mail
February 22, 1994 at 3:54:24 PM stopping Speller
February 22, 1994 at 3:54:25 PM stopped Speller
February 22, 1994 at 3:54:25 PM stopping plib
February 22, 1994 at 3:54:25 PM stopped plib
February 22, 1994 at 3:54:25 PM stopping Switch
February 22, 1994 at 3:54:25 PM stopped Switch
February 22, 1994 at 3:54:25 PM stopping code
February 22, 1994 at 3:54:25 PM stopped code
February 22, 1994 at 3:54:25 PM stopping searchlist
February 22, 1994 at 3:54:25 PM stopped searchlist
February 22, 1994 at 3:54:25 PM stopping Links
February 22, 1994 at 3:54:26 PM stopped Links
February 22, 1994 at 3:54:26 PM stopping Activity
February 22, 1994 at 3:54:26 PM stopped Activity
February 22, 1994 at 3:54:26 PM stopping code
February 22, 1994 at 3:54:27 PM stopped code
February 22, 1994 at 3:54:27 PM stopping Gateway
February 22, 1994 at 3:54:27 PM stopped Gateway
February 22, 1994 at 3:54:27 PM stopping WORK_LIST
February 22, 1994 at 3:54:27 PM stopped WORK_LIST
February 22, 1994 at 3:54:27 PM stopping WORK_ORDER
February 22, 1994 at 3:54:27 PM stopped WORK_ORDER
February 22, 1994 at 3:54:27 PM stopping VENTURE
February 22, 1994 at 3:54:28 PM stopped VENTURE
February 22, 1994 at 3:54:28 PM stopping CMVC
February 22, 1994 at 3:54:29 PM stopped CMVC
February 22, 1994 at 3:54:29 PM stopping Design
February 22, 1994 at 3:54:29 PM stopped Design
February 22, 1994 at 3:54:29 PM stopping Preview
February 22, 1994 at 3:54:30 PM stopped Preview
February 22, 1994 at 3:54:30 PM stopping Debugger
February 22, 1994 at 3:54:30 PM stopped Debugger
February 22, 1994 at 3:54:30 PM stopping TMS
February 22, 1994 at 3:54:30 PM stopped TM