Prevent constant errors when enabled in terminal #64
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It's possible for company-quickhelp to be enabled in terminal Emacs frames, e.g. by starting a GUI frame and then opening additional terminal frames with emacsclient. And, indeed, it should logically always be safe to enable company-quickhelp-mode in any buffer, because that buffer may be displayed in terminal or GUI frames at any future time.
Without this change, when company calls the company-quickhelp backend in terminal frames, pos-tip-hide is called unconditionally, which results in errors. For real-world examples, see purcell/emacs.d#377 and purcell/emacs.d#414.
This commit adds a function called company-quickhelp-pos-tip-available-p, which is used to detect and prevent these errors.