unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#8509: 24.0.50; cperl-mode with which-function-mode breaks font-locking
@ 2011-04-16  9:39 Frank Terbeck
  2019-07-05 19:55 ` Stefan Kangas
  0 siblings, 1 reply; 2+ messages in thread
From: Frank Terbeck @ 2011-04-16  9:39 UTC (permalink / raw)
  To: 8509

This is my first bug report for emacs, so bear with me:

I'm encountering odd behaviour when using `which-function-mode' with
`cperl-mode' in emacs version 24. It's a build of trunk's 103902
revision.


Consider these two files:

foo.el:

[snip]
(mapc
  (lambda (pair)
    (if (eq (cdr pair) 'perl-mode)
      (setcdr pair 'cperl-mode)))
  (append auto-mode-alist interpreter-mode-alist))

(which-function-mode t)
[snap]

And foo.pl:

[snip]
$foo = qq{I'm just another Perl Hacker.};
[snap]

Then I would start emacs like this:

% emacs -nw -Q

...and then:

M-x load-file RET foo.el RET
C-x C-f foo.pl RET

Now font locking is screwed up. The "qq" is highlighted as
`cperl-nonoverridable-face', which is correct. But "{I" shows up in
`default'. Which is wrong. Now, the ' looks like the start of a string
and it's highlighted as `font-lock-string-face'. But because the "q{"
isn't the start of the string but the single quote, the closing "}"
doesn't end the string and so the ";" (and in fact, any following lines
would be too, until another single quote would be encountered) is
highlighted in `font-lock-string-face', as well.

When I'm removing the "(which-function-mode t)" line from "foo.el", the
problem goes away.


What follows is the information `report-emacs-bug' gathered from my
fully-blown setup with `which-function-mode' disabled. I won't snip it
out for completeness.


In GNU Emacs 24.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1)
 of 2011-04-02 on bones
configured using `configure  '--with-x' '--with-imagemagick''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: en_GB.UTF-8
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  global-whitespace-mode: t
  global-auto-complete-mode: t
  auto-complete-mode: t
  yas/global-mode: t
  yas/minor-mode: t
  tabbar-mwheel-mode: t
  tabbar-mode: t
  show-paren-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  desktop-save-mode: t
  tooltip-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

Recent input:
ESC x r e p o r t TAB RET

Recent messages:
Setting up colours: `dark256'
Loading /home/hawk/.emacs.d/emacs-looks.el (source)...done
Loading /home/hawk/.emacs.d/emacs-modeline.el (source)...done
Loading /home/hawk/.emacs.d/emacs-org.el (source)...done
Loading /home/hawk/.emacs.d/emacs-spell.el (source)...done
Done loading emacs setup; have a nice day.
No desktop file.
Loading term/xterm...done
For information about GNU Emacs and the GNU system, type C-h C-a.
viper-del-backward-char-in-insert: Text is read-only [11 times]

Load-path shadows:
/usr/local/share/emacs/24.0.50/site-lisp/gnus/sha1 hides /usr/local/share/emacs/24.0.50/lisp/sha1
/usr/local/share/emacs/24.0.50/site-lisp/gnus/password-cache hides /usr/local/share/emacs/24.0.50/lisp/password-cache
/usr/local/share/emacs/24.0.50/site-lisp/gnus/md4 hides /usr/local/share/emacs/24.0.50/lisp/md4
/usr/local/share/emacs/24.0.50/site-lisp/gnus/format-spec hides /usr/local/share/emacs/24.0.50/lisp/format-spec
/usr/local/share/emacs/24.0.50/site-lisp/gnus/hex-util hides /usr/local/share/emacs/24.0.50/lisp/hex-util
/usr/local/share/emacs/24.0.50/site-lisp/gnus/color hides /usr/local/share/emacs/24.0.50/lisp/color
/usr/local/share/emacs/24.0.50/site-lisp/gnus/dns-mode hides /usr/local/share/emacs/24.0.50/lisp/textmodes/dns-mode
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-eval hides /usr/local/share/emacs/24.0.50/lisp/org/ob-eval
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-emacs-lisp hides /usr/local/share/emacs/24.0.50/lisp/org/ob-emacs-lisp
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-css hides /usr/local/share/emacs/24.0.50/lisp/org/ob-css
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-mac-message hides /usr/local/share/emacs/24.0.50/lisp/org/org-mac-message
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-mew hides /usr/local/share/emacs/24.0.50/lisp/org/org-mew
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-screen hides /usr/local/share/emacs/24.0.50/lisp/org/ob-screen
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-attach hides /usr/local/share/emacs/24.0.50/lisp/org/org-attach
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-irc hides /usr/local/share/emacs/24.0.50/lisp/org/org-irc
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-ledger hides /usr/local/share/emacs/24.0.50/lisp/org/ob-ledger
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-org hides /usr/local/share/emacs/24.0.50/lisp/org/ob-org
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-exp-blocks hides /usr/local/share/emacs/24.0.50/lisp/org/org-exp-blocks
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-html hides /usr/local/share/emacs/24.0.50/lisp/org/org-html
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-mscgen hides /usr/local/share/emacs/24.0.50/lisp/org/ob-mscgen
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-haskell hides /usr/local/share/emacs/24.0.50/lisp/org/ob-haskell
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-lisp hides /usr/local/share/emacs/24.0.50/lisp/org/ob-lisp
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-icalendar hides /usr/local/share/emacs/24.0.50/lisp/org/org-icalendar
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-clock hides /usr/local/share/emacs/24.0.50/lisp/org/org-clock
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-capture hides /usr/local/share/emacs/24.0.50/lisp/org/org-capture
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-wl hides /usr/local/share/emacs/24.0.50/lisp/org/org-wl
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-tangle hides /usr/local/share/emacs/24.0.50/lisp/org/ob-tangle
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-docbook hides /usr/local/share/emacs/24.0.50/lisp/org/org-docbook
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-plot hides /usr/local/share/emacs/24.0.50/lisp/org/org-plot
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-bibtex hides /usr/local/share/emacs/24.0.50/lisp/org/org-bibtex
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-habit hides /usr/local/share/emacs/24.0.50/lisp/org/org-habit
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-ref hides /usr/local/share/emacs/24.0.50/lisp/org/ob-ref
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-ocaml hides /usr/local/share/emacs/24.0.50/lisp/org/ob-ocaml
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-latex hides /usr/local/share/emacs/24.0.50/lisp/org/org-latex
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-mouse hides /usr/local/share/emacs/24.0.50/lisp/org/org-mouse
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-taskjuggler hides /usr/local/share/emacs/24.0.50/lisp/org/org-taskjuggler
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-beamer hides /usr/local/share/emacs/24.0.50/lisp/org/org-beamer
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-ctags hides /usr/local/share/emacs/24.0.50/lisp/org/org-ctags
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-scheme hides /usr/local/share/emacs/24.0.50/lisp/org/ob-scheme
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob hides /usr/local/share/emacs/24.0.50/lisp/org/ob
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-plantuml hides /usr/local/share/emacs/24.0.50/lisp/org/ob-plantuml
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-freemind hides /usr/local/share/emacs/24.0.50/lisp/org/org-freemind
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-jsinfo hides /usr/local/share/emacs/24.0.50/lisp/org/org-jsinfo
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-octave hides /usr/local/share/emacs/24.0.50/lisp/org/ob-octave
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-exp hides /usr/local/share/emacs/24.0.50/lisp/org/org-exp
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-mhe hides /usr/local/share/emacs/24.0.50/lisp/org/org-mhe
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-sql hides /usr/local/share/emacs/24.0.50/lisp/org/ob-sql
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-python hides /usr/local/share/emacs/24.0.50/lisp/org/ob-python
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-info hides /usr/local/share/emacs/24.0.50/lisp/org/org-info
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-rmail hides /usr/local/share/emacs/24.0.50/lisp/org/org-rmail
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-R hides /usr/local/share/emacs/24.0.50/lisp/org/ob-R
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-table hides /usr/local/share/emacs/24.0.50/lisp/org/ob-table
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-sh hides /usr/local/share/emacs/24.0.50/lisp/org/ob-sh
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-entities hides /usr/local/share/emacs/24.0.50/lisp/org/org-entities
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-remember hides /usr/local/share/emacs/24.0.50/lisp/org/org-remember
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-mks hides /usr/local/share/emacs/24.0.50/lisp/org/org-mks
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-asymptote hides /usr/local/share/emacs/24.0.50/lisp/org/ob-asymptote
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-crypt hides /usr/local/share/emacs/24.0.50/lisp/org/org-crypt
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-publish hides /usr/local/share/emacs/24.0.50/lisp/org/org-publish
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-macs hides /usr/local/share/emacs/24.0.50/lisp/org/org-macs
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-sqlite hides /usr/local/share/emacs/24.0.50/lisp/org/ob-sqlite
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-xoxo hides /usr/local/share/emacs/24.0.50/lisp/org/org-xoxo
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-table hides /usr/local/share/emacs/24.0.50/lisp/org/org-table
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-comint hides /usr/local/share/emacs/24.0.50/lisp/org/ob-comint
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-keys hides /usr/local/share/emacs/24.0.50/lisp/org/ob-keys
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-colview hides /usr/local/share/emacs/24.0.50/lisp/org/org-colview
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-js hides /usr/local/share/emacs/24.0.50/lisp/org/ob-js
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-indent hides /usr/local/share/emacs/24.0.50/lisp/org/org-indent
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-footnote hides /usr/local/share/emacs/24.0.50/lisp/org/org-footnote
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-inlinetask hides /usr/local/share/emacs/24.0.50/lisp/org/org-inlinetask
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-datetree hides /usr/local/share/emacs/24.0.50/lisp/org/org-datetree
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-agenda hides /usr/local/share/emacs/24.0.50/lisp/org/org-agenda
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-sass hides /usr/local/share/emacs/24.0.50/lisp/org/ob-sass
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org hides /usr/local/share/emacs/24.0.50/lisp/org/org
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-src hides /usr/local/share/emacs/24.0.50/lisp/org/org-src
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-install hides /usr/local/share/emacs/24.0.50/lisp/org/org-install
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-ruby hides /usr/local/share/emacs/24.0.50/lisp/org/ob-ruby
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-docview hides /usr/local/share/emacs/24.0.50/lisp/org/org-docview
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-clojure hides /usr/local/share/emacs/24.0.50/lisp/org/ob-clojure
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-gnuplot hides /usr/local/share/emacs/24.0.50/lisp/org/ob-gnuplot
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-dot hides /usr/local/share/emacs/24.0.50/lisp/org/ob-dot
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-compat hides /usr/local/share/emacs/24.0.50/lisp/org/org-compat
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-feed hides /usr/local/share/emacs/24.0.50/lisp/org/org-feed
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-faces hides /usr/local/share/emacs/24.0.50/lisp/org/org-faces
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-C hides /usr/local/share/emacs/24.0.50/lisp/org/ob-C
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-ditaa hides /usr/local/share/emacs/24.0.50/lisp/org/ob-ditaa
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-gnus hides /usr/local/share/emacs/24.0.50/lisp/org/org-gnus
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-protocol hides /usr/local/share/emacs/24.0.50/lisp/org/org-protocol
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-calc hides /usr/local/share/emacs/24.0.50/lisp/org/ob-calc
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-timer hides /usr/local/share/emacs/24.0.50/lisp/org/org-timer
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-list hides /usr/local/share/emacs/24.0.50/lisp/org/org-list
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-vm hides /usr/local/share/emacs/24.0.50/lisp/org/org-vm
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-mobile hides /usr/local/share/emacs/24.0.50/lisp/org/org-mobile
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-w3m hides /usr/local/share/emacs/24.0.50/lisp/org/org-w3m
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-perl hides /usr/local/share/emacs/24.0.50/lisp/org/ob-perl
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-ascii hides /usr/local/share/emacs/24.0.50/lisp/org/org-ascii
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-matlab hides /usr/local/share/emacs/24.0.50/lisp/org/ob-matlab
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-latex hides /usr/local/share/emacs/24.0.50/lisp/org/ob-latex
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-lob hides /usr/local/share/emacs/24.0.50/lisp/org/ob-lob
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-bbdb hides /usr/local/share/emacs/24.0.50/lisp/org/org-bbdb
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/ob-exp hides /usr/local/share/emacs/24.0.50/lisp/org/ob-exp
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-archive hides /usr/local/share/emacs/24.0.50/lisp/org/org-archive
/usr/local/share/emacs/24.0.50/site-lisp/org-mode/org-id hides /usr/local/share/emacs/24.0.50/lisp/org/org-id
/usr/local/share/emacs/24.0.50/site-lisp/gnus/tls hides /usr/local/share/emacs/24.0.50/lisp/net/tls
/usr/local/share/emacs/24.0.50/site-lisp/gnus/dns hides /usr/local/share/emacs/24.0.50/lisp/net/dns
/usr/local/share/emacs/24.0.50/site-lisp/gnus/hmac-def hides /usr/local/share/emacs/24.0.50/lisp/net/hmac-def
/usr/local/share/emacs/24.0.50/site-lisp/gnus/imap hides /usr/local/share/emacs/24.0.50/lisp/net/imap
/usr/local/share/emacs/24.0.50/site-lisp/gnus/sasl-digest hides /usr/local/share/emacs/24.0.50/lisp/net/sasl-digest
/usr/local/share/emacs/24.0.50/site-lisp/gnus/sasl hides /usr/local/share/emacs/24.0.50/lisp/net/sasl
/usr/local/share/emacs/24.0.50/site-lisp/gnus/hmac-md5 hides /usr/local/share/emacs/24.0.50/lisp/net/hmac-md5
/usr/local/share/emacs/24.0.50/site-lisp/gnus/netrc hides /usr/local/share/emacs/24.0.50/lisp/net/netrc
/usr/local/share/emacs/24.0.50/site-lisp/gnus/dig hides /usr/local/share/emacs/24.0.50/lisp/net/dig
/usr/local/share/emacs/24.0.50/site-lisp/gnus/ntlm hides /usr/local/share/emacs/24.0.50/lisp/net/ntlm
/usr/local/share/emacs/24.0.50/site-lisp/gnus/sasl-cram hides /usr/local/share/emacs/24.0.50/lisp/net/sasl-cram
/usr/local/share/emacs/24.0.50/site-lisp/gnus/sasl-ntlm hides /usr/local/share/emacs/24.0.50/lisp/net/sasl-ntlm
/usr/local/share/emacs/24.0.50/site-lisp/gnus/binhex hides /usr/local/share/emacs/24.0.50/lisp/mail/binhex
/usr/local/share/emacs/24.0.50/site-lisp/gnus/hashcash hides /usr/local/share/emacs/24.0.50/lisp/mail/hashcash
/usr/local/share/emacs/24.0.50/site-lisp/gnus/uudecode hides /usr/local/share/emacs/24.0.50/lisp/mail/uudecode
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnbabyl hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnbabyl
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-diary hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-diary
/usr/local/share/emacs/24.0.50/site-lisp/gnus/spam hides /usr/local/share/emacs/24.0.50/lisp/gnus/spam
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nneething hides /usr/local/share/emacs/24.0.50/lisp/gnus/nneething
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-srvr hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-srvr
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mm-bodies hides /usr/local/share/emacs/24.0.50/lisp/gnus/mm-bodies
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnfolder hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnfolder
/usr/local/share/emacs/24.0.50/site-lisp/gnus/pop3 hides /usr/local/share/emacs/24.0.50/lisp/gnus/pop3
/usr/local/share/emacs/24.0.50/site-lisp/gnus/rfc2104 hides /usr/local/share/emacs/24.0.50/lisp/gnus/rfc2104
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnimap hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnimap
/usr/local/share/emacs/24.0.50/site-lisp/gnus/legacy-gnus-agent hides /usr/local/share/emacs/24.0.50/lisp/gnus/legacy-gnus-agent
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnheader hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnheader
/usr/local/share/emacs/24.0.50/site-lisp/gnus/rfc1843 hides /usr/local/share/emacs/24.0.50/lisp/gnus/rfc1843
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-cus hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-cus
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gmm-utils hides /usr/local/share/emacs/24.0.50/lisp/gnus/gmm-utils
/usr/local/share/emacs/24.0.50/site-lisp/gnus/sieve hides /usr/local/share/emacs/24.0.50/lisp/gnus/sieve
/usr/local/share/emacs/24.0.50/site-lisp/gnus/yenc hides /usr/local/share/emacs/24.0.50/lisp/gnus/yenc
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mml1991 hides /usr/local/share/emacs/24.0.50/lisp/gnus/mml1991
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-msg hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-msg
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-dup hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-dup
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nngateway hides /usr/local/share/emacs/24.0.50/lisp/gnus/nngateway
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gravatar hides /usr/local/share/emacs/24.0.50/lisp/gnus/gravatar
/usr/local/share/emacs/24.0.50/site-lisp/gnus/ietf-drums hides /usr/local/share/emacs/24.0.50/lisp/gnus/ietf-drums
/usr/local/share/emacs/24.0.50/site-lisp/gnus/message hides /usr/local/share/emacs/24.0.50/lisp/gnus/message
/usr/local/share/emacs/24.0.50/site-lisp/gnus/flow-fill hides /usr/local/share/emacs/24.0.50/lisp/gnus/flow-fill
/usr/local/share/emacs/24.0.50/site-lisp/gnus/score-mode hides /usr/local/share/emacs/24.0.50/lisp/gnus/score-mode
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-spec hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-spec
/usr/local/share/emacs/24.0.50/site-lisp/gnus/rtree hides /usr/local/share/emacs/24.0.50/lisp/gnus/rtree
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnagent hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnagent
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mm-uu hides /usr/local/share/emacs/24.0.50/lisp/gnus/mm-uu
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-setup hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-setup
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-eform hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-eform
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-demon hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-demon
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-bcklg hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-bcklg
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnregistry hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnregistry
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-range hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-range
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-start hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-start
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nndiary hides /usr/local/share/emacs/24.0.50/lisp/gnus/nndiary
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mm-encode hides /usr/local/share/emacs/24.0.50/lisp/gnus/mm-encode
/usr/local/share/emacs/24.0.50/site-lisp/gnus/starttls hides /usr/local/share/emacs/24.0.50/lisp/gnus/starttls
/usr/local/share/emacs/24.0.50/site-lisp/gnus/rfc2047 hides /usr/local/share/emacs/24.0.50/lisp/gnus/rfc2047
/usr/local/share/emacs/24.0.50/site-lisp/gnus/ecomplete hides /usr/local/share/emacs/24.0.50/lisp/gnus/ecomplete
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-ems hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-ems
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-agent hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-agent
/usr/local/share/emacs/24.0.50/site-lisp/gnus/canlock hides /usr/local/share/emacs/24.0.50/lisp/gnus/canlock
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-delay hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-delay
/usr/local/share/emacs/24.0.50/site-lisp/gnus/compface hides /usr/local/share/emacs/24.0.50/lisp/gnus/compface
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-topic hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-topic
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-sieve hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-sieve
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-art hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-art
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-cache hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-cache
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mm-url hides /usr/local/share/emacs/24.0.50/lisp/gnus/mm-url
/usr/local/share/emacs/24.0.50/site-lisp/gnus/qp hides /usr/local/share/emacs/24.0.50/lisp/gnus/qp
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnml hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnml
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnmairix hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnmairix
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnmail hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnmail
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mail-parse hides /usr/local/share/emacs/24.0.50/lisp/gnus/mail-parse
/usr/local/share/emacs/24.0.50/site-lisp/gnus/shr-color hides /usr/local/share/emacs/24.0.50/lisp/gnus/shr-color
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnoo hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnoo
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnmh hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnmh
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnvirtual hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnvirtual
/usr/local/share/emacs/24.0.50/site-lisp/gnus/deuglify hides /usr/local/share/emacs/24.0.50/lisp/gnus/deuglify
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-cite hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-cite
/usr/local/share/emacs/24.0.50/site-lisp/gnus/utf7 hides /usr/local/share/emacs/24.0.50/lisp/gnus/utf7
/usr/local/share/emacs/24.0.50/site-lisp/gnus/sieve-mode hides /usr/local/share/emacs/24.0.50/lisp/gnus/sieve-mode
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-draft hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-draft
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mm-decode hides /usr/local/share/emacs/24.0.50/lisp/gnus/mm-decode
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-mlspl hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-mlspl
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnir hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnir
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mail-prsvr hides /usr/local/share/emacs/24.0.50/lisp/gnus/mail-prsvr
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gssapi hides /usr/local/share/emacs/24.0.50/lisp/gnus/gssapi
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nndraft hides /usr/local/share/emacs/24.0.50/lisp/gnus/nndraft
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mml2015 hides /usr/local/share/emacs/24.0.50/lisp/gnus/mml2015
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-registry hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-registry
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-util hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-util
/usr/local/share/emacs/24.0.50/site-lisp/gnus/smiley hides /usr/local/share/emacs/24.0.50/lisp/gnus/smiley
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-async hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-async
/usr/local/share/emacs/24.0.50/site-lisp/gnus/smime hides /usr/local/share/emacs/24.0.50/lisp/gnus/smime
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mm-extern hides /usr/local/share/emacs/24.0.50/lisp/gnus/mm-extern
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mml hides /usr/local/share/emacs/24.0.50/lisp/gnus/mml
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nntp hides /usr/local/share/emacs/24.0.50/lisp/gnus/nntp
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mml-sec hides /usr/local/share/emacs/24.0.50/lisp/gnus/mml-sec
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-html hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-html
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnspool hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnspool
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-vm hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-vm
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-sync hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-sync
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-logic hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-logic
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnmaildir hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnmaildir
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nndoc hides /usr/local/share/emacs/24.0.50/lisp/gnus/nndoc
/usr/local/share/emacs/24.0.50/site-lisp/gnus/sieve-manage hides /usr/local/share/emacs/24.0.50/lisp/gnus/sieve-manage
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-int hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-int
/usr/local/share/emacs/24.0.50/site-lisp/gnus/spam-stat hides /usr/local/share/emacs/24.0.50/lisp/gnus/spam-stat
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-sum hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-sum
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nndir hides /usr/local/share/emacs/24.0.50/lisp/gnus/nndir
/usr/local/share/emacs/24.0.50/site-lisp/gnus/shr hides /usr/local/share/emacs/24.0.50/lisp/gnus/shr
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-uu hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-uu
/usr/local/share/emacs/24.0.50/site-lisp/gnus/auth-source hides /usr/local/share/emacs/24.0.50/lisp/gnus/auth-source
/usr/local/share/emacs/24.0.50/site-lisp/gnus/messcompat hides /usr/local/share/emacs/24.0.50/lisp/gnus/messcompat
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-dired hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-dired
/usr/local/share/emacs/24.0.50/site-lisp/gnus/rfc2045 hides /usr/local/share/emacs/24.0.50/lisp/gnus/rfc2045
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-ml hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-ml
/usr/local/share/emacs/24.0.50/site-lisp/gnus/proto-stream hides /usr/local/share/emacs/24.0.50/lisp/gnus/proto-stream
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-mh hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-mh
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-picon hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-picon
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mm-view hides /usr/local/share/emacs/24.0.50/lisp/gnus/mm-view
/usr/local/share/emacs/24.0.50/site-lisp/gnus/spam-wash hides /usr/local/share/emacs/24.0.50/lisp/gnus/spam-wash
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mm-util hides /usr/local/share/emacs/24.0.50/lisp/gnus/mm-util
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-win hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-win
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-bookmark hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-bookmark
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnrss hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnrss
/usr/local/share/emacs/24.0.50/site-lisp/gnus/html2text hides /usr/local/share/emacs/24.0.50/lisp/gnus/html2text
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnnil hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnnil
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnmbox hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnmbox
/usr/local/share/emacs/24.0.50/site-lisp/gnus/spam-report hides /usr/local/share/emacs/24.0.50/lisp/gnus/spam-report
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mailcap hides /usr/local/share/emacs/24.0.50/lisp/gnus/mailcap
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mm-partial hides /usr/local/share/emacs/24.0.50/lisp/gnus/mm-partial
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-score hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-score
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mml-smime hides /usr/local/share/emacs/24.0.50/lisp/gnus/mml-smime
/usr/local/share/emacs/24.0.50/site-lisp/gnus/rfc2231 hides /usr/local/share/emacs/24.0.50/lisp/gnus/rfc2231
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-group hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-group
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-undo hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-undo
/usr/local/share/emacs/24.0.50/site-lisp/gnus/mail-source hides /usr/local/share/emacs/24.0.50/lisp/gnus/mail-source
/usr/local/share/emacs/24.0.50/site-lisp/gnus/nnweb hides /usr/local/share/emacs/24.0.50/lisp/gnus/nnweb
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-gravatar hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-gravatar
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-salt hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-salt
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-kill hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-kill
/usr/local/share/emacs/24.0.50/site-lisp/gnus/gnus-fun hides /usr/local/share/emacs/24.0.50/lisp/gnus/gnus-fun
/usr/local/share/emacs/24.0.50/site-lisp/gnus/parse-time hides /usr/local/share/emacs/24.0.50/lisp/calendar/parse-time
/usr/local/share/emacs/24.0.50/site-lisp/gnus/time-date hides /usr/local/share/emacs/24.0.50/lisp/calendar/time-date
/usr/local/share/emacs/24.0.50/site-lisp/gnus/pgg hides /usr/local/share/emacs/24.0.50/lisp/obsolete/pgg
/usr/local/share/emacs/24.0.50/site-lisp/gnus/pgg-pgp hides /usr/local/share/emacs/24.0.50/lisp/obsolete/pgg-pgp
/usr/local/share/emacs/24.0.50/site-lisp/gnus/pgg-gpg hides /usr/local/share/emacs/24.0.50/lisp/obsolete/pgg-gpg
/usr/local/share/emacs/24.0.50/site-lisp/gnus/pgg-pgp5 hides /usr/local/share/emacs/24.0.50/lisp/obsolete/pgg-pgp5
/usr/local/share/emacs/24.0.50/site-lisp/gnus/pgg-def hides /usr/local/share/emacs/24.0.50/lisp/obsolete/pgg-def
/usr/local/share/emacs/24.0.50/site-lisp/gnus/pgg-parse hides /usr/local/share/emacs/24.0.50/lisp/obsolete/pgg-parse

Features:
(shadow sort mail-extr message sendmail format-spec rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev mail-utils gmm-utils mailheader emacsbug url-util
url-parse auth-source eieio byte-opt bytecomp byte-compile gnus-util
time-date password-cache url-vars mm-util mail-prsvr ispell org-install
disp-table whitespace auto-complete-config auto-complete popup
yasnippet-bundle dropdown-list yasnippet derived assoc diminish winring
tabbar smooth-scrolling viper-in-more-modes vimpulse paren undo-tree
easy-mmode cl desktop hippie-exp comint cc-mode cc-fonts easymenu
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs regexp-opt
ido viper edmacro kmacro viper-ex viper-macs viper-mous viper-cmd
viper-keym ring viper-util viper-init advice help-fns advice-preload
time tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
tool-bar dnd fontset image fringe lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax
facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak
czech european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces
cus-face files text-properties overlay md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)





^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#8509: 24.0.50; cperl-mode with which-function-mode breaks font-locking
  2011-04-16  9:39 bug#8509: 24.0.50; cperl-mode with which-function-mode breaks font-locking Frank Terbeck
@ 2019-07-05 19:55 ` Stefan Kangas
  0 siblings, 0 replies; 2+ messages in thread
From: Stefan Kangas @ 2019-07-05 19:55 UTC (permalink / raw)
  To: 8509-done, Frank Terbeck

Frank Terbeck <ft@bewatermyfriend.org> writes:

> This is my first bug report for emacs, so bear with me:
>
> I'm encountering odd behaviour when using `which-function-mode' with
> `cperl-mode' in emacs version 24. It's a build of trunk's 103902
> revision.
>
>
> Consider these two files:
>
> foo.el:
>
> [snip]
> (mapc
>   (lambda (pair)
>     (if (eq (cdr pair) 'perl-mode)
>       (setcdr pair 'cperl-mode)))
>   (append auto-mode-alist interpreter-mode-alist))
>
> (which-function-mode t)
> [snap]
>
> And foo.pl:
>
> [snip]
> $foo = qq{I'm just another Perl Hacker.};
> [snap]
>
> Then I would start emacs like this:
>
> % emacs -nw -Q
>
> ...and then:
>
> M-x load-file RET foo.el RET
> C-x C-f foo.pl RET
>
> Now font locking is screwed up. The "qq" is highlighted as
> `cperl-nonoverridable-face', which is correct. But "{I" shows up in
> `default'. Which is wrong. Now, the ' looks like the start of a string
> and it's highlighted as `font-lock-string-face'. But because the "q{"
> isn't the start of the string but the single quote, the closing "}"
> doesn't end the string and so the ";" (and in fact, any following lines
> would be too, until another single quote would be encountered) is
> highlighted in `font-lock-string-face', as well.
>
> When I'm removing the "(which-function-mode t)" line from "foo.el", the
> problem goes away.

Hi,

I can't reproduce this on Emacs 26.2, the latest version of Emacs.

Since the bug was reported 8 years ago, I will assume that this bug has
been fixed while you were waiting for a reply.  I am therefore closing
this bug.

If you can still reproduce this issue on the latest version of Emacs,
please report back and we can re-open the issue.

Thanks,
Stefan Kangas





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-07-05 19:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-16  9:39 bug#8509: 24.0.50; cperl-mode with which-function-mode breaks font-locking Frank Terbeck
2019-07-05 19:55 ` Stefan Kangas

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).