[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#12236: 24.2.50; hideshow.el: missing a `make-variable-buffer-local'

From: Michael Heerdegen
Subject: bug#12236: 24.2.50; hideshow.el: missing a `make-variable-buffer-local'
Date: Mon, 20 Aug 2012 03:42:36 +0200


please look at these lines in hideshow.el:

  (defvar hs-c-start-regexp nil
    "Regexp for beginning of comments.
  Differs from mode-specific comment regexps in that
  surrounding whitespace is stripped.")
  (make-variable-buffer-local 'hs-c-start-regexp)
  (defvar hs-block-start-regexp nil
    "Regexp for beginning of block.")
  (make-variable-buffer-local 'hs-block-start-regexp)
  (defvar hs-block-start-mdata-select nil
    "Element in `hs-block-start-regexp' match data to consider as block start.
  The internal function `hs-forward-sexp' moves point to the beginning of this
  element (using `match-beginning') before calling `hs-forward-sexp-func'.")
  (make-variable-buffer-local 'hs-block-start-mdata-select)
  (defvar hs-block-end-regexp nil
    "Regexp for end of block.")
  (defvar hs-forward-sexp-func 'forward-sexp
    "Function used to do a `forward-sexp'.
  Should change for Algol-ish modes.  For single-character block
  delimiters -- ie, the syntax table regexp for the character is
  either `(' or `)' -- `hs-forward-sexp-func' would just be
  `forward-sexp'.  For other modes such as simula, a more specialized
  function is necessary.")
  (make-variable-buffer-local 'hs-forward-sexp-func)

I think it is obvious that `hs-block-end-regexp' must be declared as
buffer local as well.

Currently, if you invoke hs-minor-mode in two different buffers with
different major-modes, the setting of the second buffer overwrites the
value of `hs-block-end-regexp' in the first one, making hideshow
malfunctioning there.



In GNU Emacs (i486-pc-linux-gnu, GTK+ Version 3.4.2)
 of 2012-08-15 on dex, modified by Debian
 (emacs-snapshot package, version 2:20120815-1)
Windowing system distributor `The X.Org Foundation', version 11.0.11203000
Configured using:
 `configure '--build' 'i486-linux-gnu' '--host' 'i486-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 '--without-compress-info' '--with-crt-dir=/usr/lib/i386-linux-gnu/'
 '--with-x=yes' '--with-x-toolkit=gtk3' '--with-imagemagick=yes'
 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu'
 -Wl,--as-needed -znocombreloc' 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

reply via email to

[Prev in Thread] Current Thread [Next in Thread]