| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 441.1 |  | JETSAM::NORRIS | What is it, Miss Pfeffernuss? | Fri Apr 10 1987 08:53 | 7 | 
|  |     You can use:
    
    	$ set message/nofac/noident/nosever/notext
    	$ search file string
    	$ set message/fac/ident/sever/text
    
    Ed
 | 
| 441.2 | reassign sys$output? | BISTRO::HEIN | If We don't Have it,You don't Need it! | Fri Apr 10 1987 09:01 | 7 | 
|  | 
    That message is produced through a LIB$SIGNAL.
        
    Isn't it going to SYS$OUTPUT. Can't you supress it through
    assinging (/user) sys$output to nl: (combined with /out=...
    for the real output).
    
 | 
| 441.3 | It works! | SHIRE::GOLDBLATT | David Goldblatt Europe/IS | Fri Apr 10 1987 10:26 | 9 | 
|  |     I tried Ed's suggestion in .1 and it worked.  Thanks a lot Ed.
    
    Concerning the suggestion in .2, redefining SYS$OUTPUT places the
    message in the new file (to which SYS$OUTPUT now points), but does
    nothing at all for SYS$COMMAND.
    
    Thank you both, and best regards,
    
    David
 | 
| 441.4 | previous replies are close, but not quite | IDE::NELSON | JENelson | Fri Apr 10 1987 11:00 | 37 | 
|  |     There are two ways for you to fix this.
    
    1.  As reply 1 suggested, use SET MESSAGE/NOT/NOI/NOS/NOF.
    	However, I strongly urge that you use the lexical
    	F$ENVIRONMENT("MESSAGE") to save the user's original
    	message flags, and then restore them when you're through.
    	Your code becomes:
    
    	$ save_flags = f$environment("message")
    	$ set message/not/noi/nos/nof
    	$ search...
    	$ status = $status	! save status to test for later
    	$ set message'save_flags'
    	$ if status ...
    
    2.  The suggestion in reply 2 was close, but not quite.  In order
    	to supress messages you must not only redirect SYS$OUTPUT, but
    	SYS$ERROR, too (and not SYS$COMMAND, as reply 3 suggested).  To
    	understand why, you have to know how $PUTMSG works.  ($PUTMSG is
    	the system service that displays the messages you see on your
    	terminal.)
    
    	$PUTMSG will write the error message to both SYS$OUTPUT and
    	SYS$ERROR iff both logical names point to different places.
    	If the logicals point to the same place (as is normally the
    	case), $PUTMSG only writes to one of them.  Therefore, in order
    	to supress error messages, you must redefine SYS$OUTPUT and
    	SYS$ERROR, like this:
    
    	$ define/user sys$output nl:
    	$ define/user sys$error  nl:
    	$ search...
    	$ if $status ...
    Now, which solution is better?  It's up to you.
    
    				JENelson
 | 
| 441.5 | I can't all but fail to disagree with you less | VIDEO::OSMAN | type video::user$7:[osman]eric.six | Mon Apr 13 1987 13:28 | 11 | 
|  | The following method *is* better than the SET MESSAGE method:
	$ def/user sys$output nl:
	$ def/user sys$error nl:
	$ search . . .
The reason it's better, is look what happens if someone hits ^Y during
each method !
/Eric
 |