# #pragma push/pop directive

Source: https://ref.dm-lang.org/DM/preprocessor/pragma/push
Added in BYOND 515.

`#pragma push` saves the current state any pragma flags, so for instance a warning's level can be temporarily changed to ignore, warn, or error.

`#pragma pop` restores a previously saved pragma state.

```dm
// temporarily ignore the unused_var warning
#pragma push
#pragma ignore unused_var

proc/GNDN()
    var/nothing // var defined but not used

#pragma pop
```

### See also
- [#pragma directive](https://ref.dm-lang.org/DM/preprocessor/pragma/index.md)
- [#pragma warn/ignore/error directive](https://ref.dm-lang.org/DM/preprocessor/pragma/warn.md)
