--- freem/src/xecline.c	2025/03/09 15:20:18	1.4
+++ freem/src/xecline.c	2025/03/24 04:05:36	1.8
@@ -1,23 +1,11 @@
 /*
- *                            *
- *                           * *
- *                          *   *
- *                     ***************
- *                      * *       * *
- *                       *  MUMPS  *
- *                      * *       * *
- *                     ***************
- *                          *   *
- *                           * *
- *                            *
- *
- *   xecline.c
+ *   $Id: xecline.c,v 1.8 2025/03/24 04:05:36 snw Exp $
  *    freem interpreter proper
  *
  *  
  *   Author: Serena Willis <snw@coherent-logic.com>
  *    Copyright (C) 1998 MUG Deutschland
- *    Copyright (C) 2020 Coherent Logic Development LLC
+ *    Copyright (C) 2020, 2025 Coherent Logic Development LLC
  *
  *
  *   This file is part of FreeM.
@@ -35,6 +23,22 @@
  *   You should have received a copy of the GNU Affero Public License
  *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
  *
+ *   $Log: xecline.c,v $
+ *   Revision 1.8  2025/03/24 04:05:36  snw
+ *   Replace crlf with frm_crlf to avoid symbol conflict with readline on OS/2
+ *
+ *   Revision 1.7  2025/03/22 22:52:24  snw
+ *   Add STRLEN_GBL macro to manage global string length
+ *
+ *   Revision 1.6  2025/03/22 21:44:32  snw
+ *   Make the startup messages fewer and add environment name to direct-mode prompt
+ *
+ *   Revision 1.5  2025/03/09 19:50:47  snw
+ *   Second phase of REUSE compliance and header reformat
+ *
+ *
+ * SPDX-FileCopyrightText:  (C) 2025 Coherent Logic Development LLC
+ * SPDX-License-Identifier: AGPL-3.0-or-later
  **/
 
 #include <stdlib.h>
@@ -1076,8 +1080,8 @@ set:
                         goto err;
                     }
 
-                    expr (STRING);
-
+                    expr (STRING);                    
+                    
                     if (merr () > OK) goto err;
 
                     stcpy (tmp2, argptr);
@@ -4320,7 +4324,7 @@ use0:          /* entry point for proces
                                 break;
 
                             case 2:
-                                crlf[io] = tvexpr (argptr);
+                                frm_crlf[io] = tvexpr (argptr);
                                 break;
                             
                             case 3:
@@ -4422,7 +4426,7 @@ use_socket:
 
                 /* need to evaluate the following 6 lines carefully - smw 2023-10-15 */
                 if (k != HOME) {
-                    crlf[k] = FALSE;
+                    frm_crlf[k] = FALSE;
                     fm_nodelay[k] = FALSE;
                     xpos[k] = 0;
                     ypos[k] = 0;
@@ -5538,7 +5542,7 @@ zgo:
 
                 for (; beg < end; beg += UNSIGN (*beg) + 2) {
                     
-                    if (crlf[io]) {
+                    if (frm_crlf[io]) {
                         write_m ("\012\201");
                     }
                     else {
@@ -5554,7 +5558,7 @@ zgo:
                 rouins = beg;
             }
 
-            if (crlf[io]) {
+            if (frm_crlf[io]) {
                 write_m ("\012\201");
             }
             else {
@@ -7210,10 +7214,10 @@ direct_mode:
 
                 if (quiet_mode == FALSE) {
                     if (tp_level == 0) {
-                        snprintf (fmrl_prompt, 255, "\r\n%s> ", nsname);
+                        snprintf (fmrl_prompt, 255, "\r\n%s.%s> ", shm_env, nsname);
                     }
                     else {
-                        snprintf (fmrl_prompt, 255, "\r\nTL%d:%s> ", tp_level, nsname);
+                        snprintf (fmrl_prompt, 255, "\r\nTL%d:%s.%s> ", tp_level, shm_env, nsname);
                     }
                 }
                 set_io (UNIX);