magnars/s.el

Functions which use `save-match-data` `with-temp-buffer` - side-effect-free?

jasonm23 opened this issue · 4 comments

While debugging support for 24.x and 26.x there are some errors related to buffer use.

For example s-word-wrap uses both (save-match-data) and (with-temp-buffer BODY).

Do these constitute side-effects?

@magnars / @purcell any thoughts?

(BTW, I don't think side-effect-free is causing the errors. It's just a side question, as pure and side-effect-free are new to me, and documentation is sparse.)

save-match-data ensures that match data won't get changed by the enclosed block, and with-temp-buffer shouldn't have any visible side effects, so I'd imagine this is all fine.

Ok that's good.

I'm trying to figure out why the tests bork on some versions of Emacs (check emacsfodder/s.el GitHub Actions)

There's a few issues but one that sticks out is that buffet markers are not found ... and some functions are using them.

An example is s-word-wrap I think if we can work that one out on all versions supported, the rest should be good.

I've tried the script and xvfb methods of CI finagling a fake tty or screen, no dice.

@purcell @magnars any ideas ..

Edit: s/buffet/buffer/

Unsure, sorry

Ok, thanks for taking a look.