Subject: bug#21220: 24.5; imenu not working in new python buffer when semantic is loaded but semantic-mode is off

From: Bar <[email-masked]>
Date: Sat, 8 Aug 2015 12:00:33 +0300

1. emacs -Q
2. M-: (require 'semantic)
3. open a python buffer
4. M-x imenu
Result: "user-error: No items suitable for an index found in this buffer"
Value of imenu-create-index-function: semantic-create-imenu-index.
Please note that the normal value of imenu-create-index-function in
python buffers is python-imenu-create-index.

I've dug around a bit, and found that loading semantic also loads
semantic/wisent/python. In semantic/wisent/python, these lines seem to
cause the bug:
> ;;;###autoload
> (add-hook 'python-mode-hook 'wisent-python-default-setup)
wisent-python-default-setup doesn't check if semantic-mode is on or off.
When semantic-mode is on, there's no problem. But if I want semantic
only for c/c++ files, and not python files, then I got a problem.

Also see https://github.com/syl20bnr/spacemacs/issues/2569

Thanks in advance,
Bar

In GNU Emacs 24.5.2 (i686-pc-linux-gnu, GTK+ Version 3.10.8)
 of 2015-06-19 on lemur
Windowing system distributor `The X.Org Foundation', version 11.0.11501000
System Description:	Ubuntu 14.04.3 LTS

Important settings:
  value of $LC_MONETARY: he_IL.UTF-8
  value of $LC_NUMERIC: he_IL.UTF-8
  value of $LC_TIME: he_IL.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  company-quickhelp-mode: t
  company-statistics-mode: t
  eldoc-mode: t
  elisp-slime-nav-mode: t
  goto-address-prog-mode: t
  auto-highlight-symbol-mode: t
  clean-aindent-mode: t
  highlight-numbers-mode: t
  highlight-parentheses-mode: t
  rainbow-delimiters-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  projectile-global-mode: t
  projectile-mode: t
  recentf-mode: t
  pupo-mode: t
  helm-descbinds-mode: t
  helm-mode: t
  shell-dirtrack-mode: t
  nyan-mode: t
  purpose-mode: t
  window-numbering-mode: t
  volatile-highlights-mode: t
  global-vi-tilde-fringe-mode: t
  vi-tilde-fringe-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  popwin-mode: t
  global-page-break-lines-mode: t
  page-break-lines-mode: t
  ido-vertical-mode: t
  flx-ido-mode: t
  eyebrowse-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  global-evil-search-highlight-persist: t
  evil-search-highlight-persist: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  smartparens-mode: t
  evil-jumper-mode: t
  evil-escape-mode: t
  evil-commentary-mode: t
  global-anzu-mode: t
  anzu-mode: t
  eval-sexp-fu-flash-mode: t
  global-diff-hl-mode: t
  diff-hl-mode: t
  diff-auto-refine-mode: t
  company-mode: t
  savehist-mode: t
  global-hl-line-mode: t
  xterm-mouse-mode: t
  winner-mode: t
  global-auto-revert-mode: t
  evil-leader-mode: t
  evil-mode: t
  evil-local-mode: t
  which-key-mode: t
  override-global-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  hs-minor-mode: t

Recent messages:
[yas] Loading compiled snippets from /home/bar/spacemacs/fork/elpa/yasnippet-20150804.1120/snippets/prog-mode
Loading /home/bar/spacemacs/fork/elpa/yasnippet-20150804.1120/snippets/prog-mode/.yas-setup...done
Loading /home/bar/spacemacs/fork/.cache/company-statistics-cache.el (source)...done
ad-handle-definition: `helm-swoop' got redefined [2 times]
SPC s s
ad-handle-definition: `eval-defun' got redefined
Type M-x delete-other-windows to delete the help window.
byte-code: End of buffer [3 times]
byte-code: Beginning of buffer
Text is read-only

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mailabbrev
gmm-utils mailheader sendmail mail-utils smex eieio-opt helm-elisp
helm-eval edebug helm-swoop evil-iedit-state iedit iedit-lib
company-quickhelp pos-tip company-statistics company-files
company-keywords company-etags company-gtags company-template
company-dabbrev-code company-dabbrev company-capf drupal/eldoc eldoc
elisp-slime-nav hideshow goto-addr auto-highlight-symbol
clean-aindent-mode highlight-numbers parent-mode highlight-parentheses
rainbow-delimiters yasnippet help-mode autoconf autoconf-mode
helm-projectile drupal-mode drupal/emacs-drush drupal/ispell
drupal/etags php-mode cc-langs speedbar sb-image ezimage dframe flymake
add-log cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs image-file find-func async projectile recentf
tree-widget disp-table f flyspell ispell server solarized py-yapf
purpose-popwin helm-gtags pulse which-func helm-descbinds helm-mode
helm-files image-dired tramp tramp-compat tramp-loaddefs trampver shell
drupal/pcomplete pcomplete dired-x dired-aux ffap helm-buffers
helm-elscreen helm-tags helm-bookmark helm-adaptive helm-info bookmark
helm-locate helm-match-plugin helm-grep helm-regexp helm-plugin
helm-external helm-net browse-url xml url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
url-parse auth-source gnus-util password-cache url-vars mailcap
helm-utils helm-help helm-types helm helm-lib compile nyan-mode
window-purpose-x imenu-list imenu ibuf-ext ibuffer dired window-purpose
window-purpose-fixes window-purpose-prefix-overload
window-purpose-switch let-alist window-purpose-layout
window-purpose-core window-purpose-configuration window-purpose-utils
window-numbering etags volatile-highlights vi-tilde-fringe undo-tree
diff smooth-scrolling smartparens-config slime-autoloads powerline
powerline-separators color powerline-themes popwin page-break-lines
ido-vertical-mode helm-source flx-ido flx eyebrowse format-spec
exec-path-from-shell evil-surround evil-search-highlight-persist
evil-numbers evil-lisp-state smartparens evil-jumper
evil-indent-textobject evil-exchange evil-escape evil-commentary
evil-args evil-anzu anzu mule-util info cider-eval-sexp-fu eval-sexp

-- 
Bar <[email-masked]>