If you are talking about writing your own prefix commands, the following
is an example:

PREFIXCD XEDIT Y2

/* CCD - COPY BLOCK OF LINES TO AN EXTERNAL CMS FILE */     
/*       THEY CAN THEN BE BROUGHT IN TO THE SAME OR  */     
/*       OTHER XEDIT FILES AT A LATER TIME           */     
/*                                                      */  
/*       TOM DUERBUSCH - THD CONSULTING                 */  
/*       6/18/93                                        */  
/*                                                      */  
ARG PREFIX OPERAND PLINE OP REST                            
PARSE SOURCE . . . . . NAME .                               
PRF=NAME||SPACE(OP REST)                                    
'COMMAND PRESERVE'                                          
'COMMAND SET STAY ON'                                       
'SET CMSTYPE HT'                                            
'COMMAND ERASE STACK XEDIT A'                               
'SET CMSTYPE RT'                                            
SELECT                                                      
   WHEN LENGTH(NAME) = 2 THEN  /* NO BLOCK GROUP */         
      DO                                                    
         'COMMAND EXTRACT /LINE/'                           
         ':'PLINE                                           
         'PUT 1 STACK XEDIT A'                              
      END                                                   
   WHEN LENGTH(NAME) = 3 THEN /* BLOCK GROUP */                        
   
      DO                                                               
   
         /* LOOK FOR THIS PREFIX COMMAND PRIOR TO THIS ONE */          
   
         DO FSD = 0 TO PLINE UNTIL RC ¬= 2                             
   
            'COMMAND EXTRACT /PENDING BLOCK' NAME ':'FSD ':'PLINE '/'  
   
         END                                                           
   
         SELECT                                                        
   
            WHEN PENDING.0 ¬= 0 THEN /* WE HAVE ENDED THE PREFIX BLOCK
*   
               DO                                                      
   
                  'COMMAND :'PENDING.1 'COMMAND SET PENDING OFF'       
   
                  RANGE = PLINE - PENDING.1                            
   
                  SELECT                                               
   
                     WHEN RANGE > 0 THEN RANGE = RANGE +1              
   
                     WHEN RANGE < 0 THEN RANGE = RANGE -1              
   
                     OTHERWISE NOP                                     
   
                  END                                                  
   
                  'COMMAND LOCATE :'PENDING.1                          
   
                  'PUT ' RANGE ' STACK XEDIT A'                        
   
               END                                                     
   
            OTHERWISE  /* THIS IS A START OF A PREFIX BLOCK */         
   
               DO                                                      
   
                  'COMMAND :'PLINE                                     
   
                  'COMMAND SET PENDING BLOCK' LEFT(PRF,5)  
               END                                         
                                                           
      END                                                  
   OTHERWISE NOP                                           
END                                                        
'COMMAND RESTORE'                                          
RETURN                                                     


and then add to the profile xedit:

/* FOLLOWING ARE THD CREATED PREFIX COMMANDS  */  
                                                  
SET 'PREFIX SYNONYM CD  PREFIXCD'                 
SET 'PREFIX SYNONYM CCD PREFIXCD'                 
SET 'PREFIX SYNONYM MD  PREFIXMD'                 
SET 'PREFIX SYNONYM MMD PREFIXMD'                 
SET 'PREFIX SYNONYM G   PREFIXG'                  


Tom Duerbusch
THD Consulting

>>> "Schuh, Richard" <[email protected]> 3/18/2009 3:45 PM >>>
Is there any way to access the prefix area of a line from an XEDIT
Macro? I see nothing in the EXTRACT command. Am I missing something
there? Is there some other way to access it?

Regards, 
Richard Schuh 

Reply via email to