It is not a bug.
helm.el does not provide any major mode for helm buffers. So they are infact in
fundamental-mode. However it does set the variable
Helm which is what you are seeing in the mode column. The
mode-name variable is a buffer local variable that can contain a user friendly name for the buffer's major-mode and is/can be different from
Check out the defun
helm-create-helm-buffer for more details.
ibuffer lets you mark all helm buffers by marking by mode regexp
% m followed by
Helm at the prompt. The usual
* M does not work though. If you want to create filter groups for helm, you can use the
ibuffer-filter-by-predicate mapped to
/ e and entering the following at the prompt.
(string-match "Helm" mode-name)
For instance, here is a working example of a saved filter group
and here is the resulting
ibuffer window after
I can only guess why Helm does not have a dedicated major mode. Unlike buffers with major modes
- helm completion buffers are always disposable,
- do not need any special syntax map,
- font-lock is dependent upon the command invoked
- most importantly, keymap is active only for the active helm buffer
So there is no special reason for these buffers to have a dedicated major-mode. You can ask the maintainer for his reasons though. Maybe, the overhead of having a major-mode is not worth the trivial advantages it brings.