pft / mingus

GNU Emacs control of Music Player Daemon (MPD)
104 stars 19 forks source link

Inserting/Toggling/Stopping throws wrong type error #21

Closed nsemrau closed 8 years ago

nsemrau commented 8 years ago

Since commit 5ba81f98c4c827df21de5bf7d65a261bef5d3d74, mingus throws the error remove: Wrong type argument: listp, mingus-song-file-face as response to some commands for me.

I get this error when I use mingus-stop or mingus-toggle in either browser-mode or playlist-mode. Additionally, the error appears when I use mingus-insert-and-play in browser-mode and mingus-play in playlist-mode.

pft commented 8 years ago

I do not get this error, so I presume your implementation of remove is different from mine, which does not complain about symbols as arguments, e.g. (remove nil 'foo) returns foo.

If I replace remove with cl-remove I get the same kind of errors.

So what is the defun of the remove you use?

That being said, I should not abuse an unintended feature (it's does not say in the documentation one can throw symbols at it), so in commit 8ccac09d62c22bccb899bc3cf6fb9e5e1801e6c9 on branch https://github.com/pft/mingus/tree/remove-face-fix I built in a check (tested with cl-remove).

Please test it before I push it to master.

nsemrau commented 8 years ago

I forgot to mention that I observe this bug in the current checkout of emacs-25.1.50 from upstream's current master branch. Testing it now on the released version of emacs-24.5 does not show the problem.

I do not customize remove in my Emacs, i.e. my implementation is the stock version of emacs-25. Diffing remove from 25.1.50 with 24.5 shows that they are identical between versions.

Applying 8ccac09d62c22bccb899bc3cf6fb9e5e1801e6c9 on 25.1.50 solves the error message but leads to erroneous fontification in mingus-playlist-mode:

mingus-fontification

Using mingus-redraw-buffer in that situation fixes the fontification. It however reverts to the state in the figure with the next invocation of the timer after a second.

pft commented 8 years ago

Just pushed 389ebf8fc71633317ceb6cbe119053179ab1042b to https://github.com/pft/mingus/tree/remove-face-fix that should fix this.

nsemrau commented 8 years ago

Yes, highlighting looks fine again with 389ebf8fc71633317ceb6cbe119053179ab1042b. I tried out entries with CJK characters, too, and their highlighting lines up correctly as well. Thank you for the quick fixes!

pft commented 8 years ago

Thanks for testing @nsemrau.

Merged it back into master.