GNU bug report logs - #17948
24.3; cperl: Needs an equivalent to `c-file-style'

Previous Next

Package: emacs;

Reported by: Samuel Bronson <naesten <at> gmail.com>

Date: Sat, 5 Jul 2014 20:11:01 UTC

Severity: wishlist

Found in version 24.3

Done: Harald Jörg <haj <at> posteo.de>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 17948 in the body.
You can then email your comments to 17948 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#17948; Package emacs. (Sat, 05 Jul 2014 20:11:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Samuel Bronson <naesten <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 05 Jul 2014 20:11:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Samuel Bronson <naesten <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3; cperl: Needs an equivalent to `c-file-style'
Date: Sat, 05 Jul 2014 16:10:02 -0400
The package `cperl' could *really* benefit from a way to do the
equivalent of `cperl-set-style' from a Local Variables block or
.dir-locals.el file.

It might be best to use that name, even, since the name could easily
lead one to believe that `cperl-mode' was somehow based on the `cc-mode'
package.  (At least, I thought it might be until I saw neither hide nor
hair of it in the source file.  It didn't help that `c-file-style'
*seemed* to be passing the usual `normal-mode' test, because
`cperl-mode' was failing to reset the style during reinitialization.)


In GNU Emacs 24.3.1 (i486-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2014-06-06 on babin, modified by Debian
Windowing system distributor `Colin Harrison', version 11.0.60900031
System Description:	Debian GNU/Linux testing (jessie)

Configured using:
 `configure '--build' 'i486-linux-gnu' '--build' 'i486-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var/lib' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp'
 '--with-crt-dir=/usr/lib/i386-linux-gnu' '--with-x=yes'
 '--with-x-toolkit=lucid' '--with-toolkit-scroll-bars' '--without-gconf'
 '--without-gsettings' 'build_alias=i486-linux-gnu' 'CFLAGS=-g -O2
 -fstack-protector --param=ssp-buffer-size=4 -Wformat
 -Werror=format-security -Wall' 'LDFLAGS=-Wl,-z,relro'
 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
  value of $LC_COLLATE: C
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: CPerl

Minor modes in effect:
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  xterm-mouse-mode: t
  show-paren-mode: t
  recentf-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-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
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-h v <return> C-x o C-x o <up> <up> <C-home> <next> 
<prior> <prior> <next> <prior> <prior> <next> <next> 
<next> <next> <next> <prior> <next> <prior> <down> 
<down> <end> <down> <down> <down> <C-home> <C-end> 
<C-home> M-x m o d e - p <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> p e r l <tab> - 
m o <tab> <return> <next> <prior> <next> <next> <next> 
<next> <next> <prior> M-x <up> <up> <up> <down> <down> 
c <end> <return> <up> <up> <up> <up> M-x p o d <tab> 
<tab> C-g <down> <next> <next> <next> <next> <next> 
<next> <prior> <prior> <prior> <prior> <prior> <up> 
<prior> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<right> <up> <up> M-x c <backspace> s h <backspace> 
<backspace> n o r m <tab> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> C-g 
M-. C-g C-h c C-g M-x d e s c <tab> c h <tab> <return> 
<down> <down> <down> <up> <end> <down> <down> <down> 
<down> M-x <up> <return> <up> <up> <up> <C-left> <C-left> 
<C-left> <next> <next> <prior> <next> <next> <next> 
<next> <C-home> <next> <next> <next> <next> <next> 
<next> <next> <prior> <prior> <prior> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> M-x C-g <next> <next> 
<next> <next> <prior> <next> <next> <next> <next> <prior> 
<next> <next> <next> <next> <C-home> <next> M-x r e 
p o r t <tab> c <tab> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <backspace> c p 
<tab> <backspace> <backspace> <backspace> <backspace> 
c p <tab> e r <tab> <tab> <tab> <tab> <tab> <tab> C-g 
<C-home> <next> <next> <down> <next> <next> <prior> 
<prior> <prior> <next> <next> <next> <next> <next> 
<next> <next> <prior> <C-home> <next> <next> <next> 
<next> <next> <next> <next> <next> <next> <next> <C-home> 
<next> <next> <next> <next> <next> <down> M-x r e <backspace> 
<backspace> e m a c s <tab> b <tab> <home> <home> r 
e p <tab> <end> <return>

Recent messages:
 [2 times]
Mark set
Quit
Mark set
delete-backward-char: Text is read-only
Making completion list... [2 times]
Compilation exited abnormally with code 2
Quit
Mark set [3 times]
Making completion list...

Load-path shadows:
/home/naesten/system/emacs/dist/elpa/w3-4.0.49/ssl hides /usr/share/emacs24/site-lisp/wl/ssl
/usr/share/emacs24/site-lisp/css-mode/css-mode hides /usr/share/emacs/site-lisp/css-mode/css-mode
/usr/share/emacs/site-lisp/autoconf/autotest-mode hides /usr/share/emacs/site-lisp/autotest-mode
/usr/share/emacs/24.3/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs24/site-lisp/cmake-data/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/usr/share/emacs24/site-lisp/flim/md4 hides /usr/share/emacs/24.3/lisp/md4
/home/naesten/system/emacs/dist/elisp/loaddefs hides /usr/share/emacs/24.3/lisp/loaddefs
/usr/share/emacs24/site-lisp/flim/hex-util hides /usr/share/emacs/24.3/lisp/hex-util
/home/naesten/system/emacs/dist/elpa/json-1.2/json hides /usr/share/emacs/24.3/lisp/json
/home/naesten/system/emacs/dist/elisp/t-mouse hides /usr/share/emacs/24.3/lisp/t-mouse
/usr/share/emacs24/site-lisp/html-helper-mode/tempo hides /usr/share/emacs/24.3/lisp/tempo
/usr/share/emacs24/site-lisp/css-mode/css-mode hides /usr/share/emacs/24.3/lisp/textmodes/css-mode
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/24.3/lisp/textmodes/rst
/usr/share/emacs24/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/24.3/lisp/textmodes/ispell
/usr/share/emacs24/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/24.3/lisp/textmodes/flyspell
/usr/share/emacs24/site-lisp/flim/sasl-digest hides /usr/share/emacs/24.3/lisp/net/sasl-digest
/usr/share/emacs24/site-lisp/flim/sasl-cram hides /usr/share/emacs/24.3/lisp/net/sasl-cram
/usr/share/emacs24/site-lisp/flim/hmac-md5 hides /usr/share/emacs/24.3/lisp/net/hmac-md5
/usr/share/emacs24/site-lisp/flim/hmac-def hides /usr/share/emacs/24.3/lisp/net/hmac-def
/usr/share/emacs24/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/24.3/lisp/net/sasl-ntlm
/usr/share/emacs24/site-lisp/flim/ntlm hides /usr/share/emacs/24.3/lisp/net/ntlm
/usr/share/emacs24/site-lisp/flim/sasl hides /usr/share/emacs/24.3/lisp/net/sasl
/usr/share/emacs24/site-lisp/wl/rfc2368 hides /usr/share/emacs/24.3/lisp/mail/rfc2368
/home/naesten/system/emacs/dist/elisp/package hides /usr/share/emacs/24.3/lisp/emacs-lisp/package
/home/naesten/system/emacs/dist/elpa/tabulated-list-0/tabulated-list hides /usr/share/emacs/24.3/lisp/emacs-lisp/tabulated-list
/usr/share/emacs24/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x
/usr/share/emacs24/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style
/usr/share/emacs24/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar
/usr/share/emacs24/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold
/usr/share/emacs24/site-lisp/auctex/preview hides /usr/share/emacs/site-lisp/auctex/preview
/usr/share/emacs24/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context
/usr/share/emacs24/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl
/usr/share/emacs24/site-lisp/auctex/prv-emacs hides /usr/share/emacs/site-lisp/auctex/prv-emacs
/usr/share/emacs24/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en
/usr/share/emacs24/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp
/usr/share/emacs24/site-lisp/auctex/plain-tex hides /usr/share/emacs/site-lisp/auctex/plain-tex
/usr/share/emacs24/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite
/usr/share/emacs24/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font
/usr/share/emacs24/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik
/usr/share/emacs24/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex
/usr/share/emacs24/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp
/usr/share/emacs24/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info
/usr/share/emacs24/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex
/usr/share/emacs24/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt
/usr/share/emacs24/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex
/usr/share/emacs24/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf
/usr/share/emacs24/site-lisp/html-helper-mode/hhm-config hides /usr/share/emacs/site-lisp/html-helper-mode/hhm-config
/usr/share/emacs24/site-lisp/html-helper-mode/visual-basic-mode hides /usr/share/emacs/site-lisp/html-helper-mode/visual-basic-mode
/usr/share/emacs24/site-lisp/html-helper-mode/tempo hides /usr/share/emacs/site-lisp/html-helper-mode/tempo
/usr/share/emacs24/site-lisp/html-helper-mode/html-helper-mode hides /usr/share/emacs/site-lisp/html-helper-mode/html-helper-mode
/usr/share/emacs24/site-lisp/mailcrypt/mc-toplev hides /usr/share/emacs/site-lisp/mailcrypt/mc-toplev
/usr/share/emacs24/site-lisp/mailcrypt/mc-remail hides /usr/share/emacs/site-lisp/mailcrypt/mc-remail
/usr/share/emacs24/site-lisp/mailcrypt/mc-pgp6 hides /usr/share/emacs/site-lisp/mailcrypt/mc-pgp6
/usr/share/emacs24/site-lisp/mailcrypt/mc-pgp5 hides /usr/share/emacs/site-lisp/mailcrypt/mc-pgp5
/usr/share/emacs24/site-lisp/mailcrypt/mc-pgp hides /usr/share/emacs/site-lisp/mailcrypt/mc-pgp
/usr/share/emacs24/site-lisp/mailcrypt/mc-gpg hides /usr/share/emacs/site-lisp/mailcrypt/mc-gpg
/usr/share/emacs24/site-lisp/mailcrypt/mailcrypt hides /usr/share/emacs/site-lisp/mailcrypt/mailcrypt
/usr/share/emacs24/site-lisp/mailcrypt/expect hides /usr/share/emacs/site-lisp/mailcrypt/expect
/usr/share/emacs24/site-lisp/mailcrypt/mc-setversion hides /usr/share/emacs/site-lisp/mailcrypt/mc-setversion
/usr/share/emacs24/site-lisp/psgml/psgml-edit hides /usr/share/emacs/site-lisp/psgml/psgml-edit
/usr/share/emacs24/site-lisp/psgml/psgml-charent hides /usr/share/emacs/site-lisp/psgml/psgml-charent
/usr/share/emacs24/site-lisp/psgml/psgml hides /usr/share/emacs/site-lisp/psgml/psgml
/usr/share/emacs24/site-lisp/psgml/psgml-other hides /usr/share/emacs/site-lisp/psgml/psgml-other
/usr/share/emacs24/site-lisp/psgml/psgml-api hides /usr/share/emacs/site-lisp/psgml/psgml-api
/usr/share/emacs24/site-lisp/psgml/psgml-sysdep hides /usr/share/emacs/site-lisp/psgml/psgml-sysdep
/usr/share/emacs24/site-lisp/psgml/psgml-init hides /usr/share/emacs/site-lisp/psgml/psgml-init
/usr/share/emacs24/site-lisp/psgml/psgml-parse hides /usr/share/emacs/site-lisp/psgml/psgml-parse
/usr/share/emacs24/site-lisp/psgml/psgml-info hides /usr/share/emacs/site-lisp/psgml/psgml-info
/usr/share/emacs24/site-lisp/psgml/psgml-ids hides /usr/share/emacs/site-lisp/psgml/psgml-ids
/usr/share/emacs24/site-lisp/psgml/psgml-dtd hides /usr/share/emacs/site-lisp/psgml/psgml-dtd
/usr/share/emacs/24.3/lisp/gnus/.dir-locals hides /home/naesten/system/emacs/dist/elisp/magit/.dir-locals
/usr/share/emacs/site-lisp/emacs-goodies-el/markdown-mode hides /home/naesten/system/emacs/dist/elisp/markdown-mode/markdown-mode

Features:
(shadow emacsbug descr-text shr nroff-mode two-column iso-transl dabbrev
tabify nneething perlcritic loadhist vhdl-mode hippie-exp verilog-mode
vera-mode tcl simula sieve sieve-mode sieve-manage sgml-mode ruby-mode
python prolog pascal octave-mod rng-nxml rng-valid rng-loc rng-uri
rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns
nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok
modula2 meta-mode m4-mode ld-script js json info-look idlwave
idlwave-help idlw-help icon hideshow fortran f90 delphi dcl-mode
css-mode cfengine cfengine3 antlr-mode ada-mode which-func align
find-file sql ps-mode pde-util etags tabbar re-builder gud perldoc
imenu-tree pde-project help-dwim template-simple tempo-x pde-vars
windata tree-mode woman man pde-autoloads autoload tar-mode files-x
debug info vc-rcs url-handlers nnweb nnregistry spam-report apropos
bbdb-hooks flow-fill mm-archive gnus-html browse-url xml mm-url sort
smiley gnus-cite gnus-async gnus-bcklg qp gnus-ml mailcrypt disp-table
gnus-topic nndoc nndraft nnmh netrc gnutls nnfolder bbdb-gnus bbdb-snarf
mail-extr nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual
nntp gnus-cache gnus-registry registry eieio-base spam spam-stat gnus-uu
yenc gnus-msg gnus-art mm-uu mml2015 epg-config mm-view mml-smime smime
dig gnus-sum nnoo gnus-group gnus-undo nnmail mail-source gnus-start
gnus-spec gnus-int gnus-range message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode gmm-utils mailheader gnus-win gnus gnus-ems nnheader
gitignore-mode perl-mode filladapt basic basic-mode cperl-mode jka-compr
lisp-mnt mule-util network-stream starttls url-http tls mail-parse
rfc2231 url-gw url-cache url-auth finder-inf wdired ls-lisp find-dired
sh-script smie executable xmtn-dvc dvc-status xmtn-conflicts xmtn-ids
xmtn-match xmtn-automate xmtn-compat parse-time xmtn-run xmtn-basic-io
xmtn-base conf-mode tramp-cmds noutline outline tramp-cache tramp-sh rx
tramp tramp-compat tramp-loaddefs shell pcomplete format-spec view
magit-bisect magit-key-mode magit debian-copyright bbdb-com mailabbrev
misearch multi-isearch dired-aux debian-bug debian-changelog-mode imenu
cc-langs make-mode debian-control-mode dpkg-dev-el dpkg-dev-el-loaddefs
thingatpt help-mode tla smerge-mode dvc-state dvc-config diff sendmail
rfc2047 rfc2045 ietf-drums mail-utils tla-gnus dvc-gnus dvc-cmenu
dvc-about dvc-version vc-git xgit-dvc xgit cus-edit xgit-annotate rect
dvc-annotate xgit-log dvc-revlist dvc-diff uniquify dvc-fileinfo
bzr-core tla-core pp tla-autoconf tla-defs dvc-log dvc-unified dvc-tips
dired-x dired ffap commit-patch-buffer log-edit pcvs-util add-log vc
vc-dispatcher diff-mode easy-mmode ediff-merg ediff-diff ediff-wind
ediff-help ediff-util ediff-mult ediff-init ediff xdarcs-core xgit-core
xhg-core xmtn-minimal server derived xcscope arc-mode archive-mode
asm-mode my-asm slime-autoloads dvc-autoloads dvc-core dvc-lisp
dvc-buffers dvc-ui dvc-register dvc-utils dvc-emacs ewoc dvc-defs
dvc-site cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs elisp-depend ps-print-bg-fixup bbdb timezone
wgrep grep compile comint ansi-color ring edebug warnings trace xt-mouse
paren recentf tree-widget wid-edit cus-start cus-load
eldoc-eval-autoloads elisp-cache-autoloads erc-hl-nicks-autoloads
fill-column-indicator-autoloads find-file-in-git-repo-autoloads
gitconfig-mode-autoloads gitignore-mode-autoloads mo-git-blame-autoloads
occur-x-autoloads smartparens-autoloads dash-autoloads
synonyms-autoloads tabulated-list-autoloads w3-autoloads wgrep-autoloads
yagist-autoloads json-autoloads yasnippet-bundle-autoloads
yasnippet-bundle dropdown-list advice help-fns advice-preload yasnippet
easymenu assoc package find-func cl-macs gv w3m-load psgml-init
proof-site proof-autoloads pg-vars mmm-auto mmm-vars mmm-compat cl
cl-lib mailcrypt-init haskell-mode-autoloads edmacro kmacro tempo url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util url-parse auth-source eieio byte-opt bytecomp
byte-compile cconv gnus-util time-date mm-util mail-prsvr password-cache
url-vars mailcap xml-parse doxymacs debian-el debian-el-loaddefs
bbdb-autoloads preview-latex tex-site auto-loads tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment 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 macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind dynamic-setting
font-render-setting x-toolkit x multi-tty emacs)

-- 
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17948; Package emacs. (Wed, 11 May 2022 14:30:02 GMT) Full text and rfc822 format available.

Message #8 received at 17948 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Samuel Bronson <naesten <at> gmail.com>
Cc: 17948 <at> debbugs.gnu.org
Subject: Re: bug#17948: 24.3; cperl: Needs an equivalent to `c-file-style'
Date: Wed, 11 May 2022 16:29:44 +0200
Samuel Bronson <naesten <at> gmail.com> writes:

> The package `cperl' could *really* benefit from a way to do the
> equivalent of `cperl-set-style' from a Local Variables block or
> .dir-locals.el file.

I've now added this to Emacs 29 (under the name cperl-file-style).

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug marked as fixed in version 29.1, send any further explanations to 17948 <at> debbugs.gnu.org and Samuel Bronson <naesten <at> gmail.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 11 May 2022 14:30:04 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 09 Jun 2022 11:24:07 GMT) Full text and rfc822 format available.

bug unarchived. Request was from Stefan Kangas <stefankangas <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 02 Jan 2024 17:31:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17948; Package emacs. (Tue, 02 Jan 2024 17:34:02 GMT) Full text and rfc822 format available.

Message #17 received at 17948 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: Samuel Bronson <naesten <at> gmail.com>,
 Harald Jörg <haj <at> posteo.de>, 17948 <at> debbugs.gnu.org
Subject: Re: bug#17948: 24.3; cperl: Needs an equivalent to `c-file-style'
Date: Tue, 2 Jan 2024 09:33:32 -0800
reopen 17948
thanks

Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> Samuel Bronson <naesten <at> gmail.com> writes:
>
>> The package `cperl' could *really* benefit from a way to do the
>> equivalent of `cperl-set-style' from a Local Variables block or
>> .dir-locals.el file.
>
> I've now added this to Emacs 29 (under the name cperl-file-style).

Harald Jörg <haj <at> posteo.de> writes:

> The current implementation might need some reconsideration, though... I
> have been playing around with it and am a bit confused.
>
> As far as I understand it, `cperl-file-style' is supposed to be set in
> .dir-locals.el.  If I define it there as "PBP", then that style going to
> be local in buffers visiting files from the same directory.  Fine so
> far.
>
> However, the individual settings like `cperl-indent-level' are not
> buffer-local, nor made buffer-local by cperl-set-style.  Therefore, if I
> run `cperl-set-style' in any buffer (or from a customize :set function
> or from another .dir-locals.el), then it will override the value ... in
> all buffers, regardless of their local style settings.
>
> The C modes (which are the example after which cperl-file-style was
> built) solve this with a special value 'set-from-style - I guess
> cperl-mode needs something in the same spirit.

So I don't think the feature is working in its current form.




bug No longer marked as fixed in versions 29.1 and reopened. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 02 Jan 2024 17:34:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17948; Package emacs. (Wed, 03 Jan 2024 19:04:01 GMT) Full text and rfc822 format available.

Message #22 received at 17948 <at> debbugs.gnu.org (full text, mbox):

From: Harald Jörg <haj <at> posteo.de>
To: 17948 <at> debbugs.gnu.org
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, Stefan Kangas <stefankangas <at> gmail.com>
Subject: Re: bug#17948: 24.3; cperl: Needs an equivalent to `c-file-style'
Date: Wed, 03 Jan 2024 19:02:57 +0000
I suggest the following solution:

 - A new command (proposed name: `cperl-file-style' in sync with the
   option) sets the same set of variables as `cperl-set-style', but at
   the same time makes them buffer-local.

 - The `cperl-mode' command will call this new function if
   the option `cperl-file-style' is set to a non-nil value.

 - The command cperl-set-style is modified to set the
   default-toplevel-value for each option.  This command will also be
   used by the :set function of customize.

So, if `cperl-file-style' is at its default value of nil, all variables
stay global but can of course still individually appear in file or
directory variables.  If `cperl-file-style' is set, it defines new
defaults for all options.

This does not allow to have "PBP-style, but with an indent level of 3"
as a *customizable* default because cperl-file-style will override it,
but I'd expect it to work if both options are set in the correct order
in .dir-locals.el or file variables.

Does that sound ok?  I can prepare a patch ~ this weekend.

-- 
Cheers,
haj




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17948; Package emacs. (Fri, 05 Jan 2024 20:19:02 GMT) Full text and rfc822 format available.

Message #25 received at 17948 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Harald Jörg <haj <at> posteo.de>, 17948 <at> debbugs.gnu.org
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>
Subject: Re: bug#17948: 24.3; cperl: Needs an equivalent to `c-file-style'
Date: Fri, 5 Jan 2024 12:18:36 -0800
Harald Jörg <haj <at> posteo.de> writes:

> I suggest the following solution:
>
>  - A new command (proposed name: `cperl-file-style' in sync with the
>    option) sets the same set of variables as `cperl-set-style', but at
>    the same time makes them buffer-local.
>
>  - The `cperl-mode' command will call this new function if
>    the option `cperl-file-style' is set to a non-nil value.
>
>  - The command cperl-set-style is modified to set the
>    default-toplevel-value for each option.  This command will also be
>    used by the :set function of customize.
>
> So, if `cperl-file-style' is at its default value of nil, all variables
> stay global but can of course still individually appear in file or
> directory variables.  If `cperl-file-style' is set, it defines new
> defaults for all options.
>
> This does not allow to have "PBP-style, but with an indent level of 3"
> as a *customizable* default because cperl-file-style will override it,
> but I'd expect it to work if both options are set in the correct order
> in .dir-locals.el or file variables.
>
> Does that sound ok?  I can prepare a patch ~ this weekend.

Sounds good to me.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17948; Package emacs. (Mon, 08 Jan 2024 08:24:01 GMT) Full text and rfc822 format available.

Message #28 received at 17948 <at> debbugs.gnu.org (full text, mbox):

From: Harald Jörg <haj <at> posteo.de>
To: 17948 <at> debbugs.gnu.org
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, Stefan Kangas <stefankangas <at> gmail.com>
Subject: Re: bug#17948: 24.3; cperl: Needs an equivalent to `c-file-style'
 [PATCH]
Date: Mon, 08 Jan 2024 08:23:35 +0000
[Message part 1 (text/plain, inline)]
So... I promised a bit too much.  It is not possible to override an
individual indentation setting (e.g. cperl-indent-level) when a
cperl-file-style is used.  File (and directory) variables are applied
after the body of cperl-mode, and the styles do their work only after
that in hack-local-variables-hook.  I did not know that.  So, styles
will always override the settings they provide.

But apart from that, the patch (attached) does what I would expect:  I
can set a default style in custom, individual styles from .dir-locals.el
or file local variables work without affecting other buffers.

I suggest this patch should go to the emacs-29 branch.

--
Cheers,
haj
[0001-cperl-mode.el-Make-sure-cperl-file-style-is-buffer-l.patch (text/x-diff, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17948; Package emacs. (Mon, 08 Jan 2024 12:52:02 GMT) Full text and rfc822 format available.

Message #31 received at 17948 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Harald Jörg <haj <at> posteo.de>
Cc: larsi <at> gnus.org, stefankangas <at> gmail.com, 17948 <at> debbugs.gnu.org
Subject: Re: bug#17948: 24.3;
 cperl: Needs an equivalent to `c-file-style' [PATCH]
Date: Mon, 08 Jan 2024 14:51:16 +0200
> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, Stefan Kangas <stefankangas <at> gmail.com>
> From: Harald Jörg <haj <at> posteo.de>
> Date: Mon, 08 Jan 2024 08:23:35 +0000
> 
> So... I promised a bit too much.  It is not possible to override an
> individual indentation setting (e.g. cperl-indent-level) when a
> cperl-file-style is used.  File (and directory) variables are applied
> after the body of cperl-mode, and the styles do their work only after
> that in hack-local-variables-hook.  I did not know that.  So, styles
> will always override the settings they provide.
> 
> But apart from that, the patch (attached) does what I would expect:  I
> can set a default style in custom, individual styles from .dir-locals.el
> or file local variables work without affecting other buffers.
> 
> I suggest this patch should go to the emacs-29 branch.

Sorry, no new commands/features on the release branch at this time.
This should go to master.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17948; Package emacs. (Mon, 08 Jan 2024 15:27:01 GMT) Full text and rfc822 format available.

Message #34 received at 17948 <at> debbugs.gnu.org (full text, mbox):

From: Harald Jörg <haj <at> posteo.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: larsi <at> gnus.org, stefankangas <at> gmail.com, 17948 <at> debbugs.gnu.org
Subject: Re: bug#17948: 24.3; cperl: Needs an equivalent to `c-file-style'
 [PATCH]
Date: Mon, 08 Jan 2024 15:26:16 +0000
Eli Zaretskii writes:

>> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, Stefan Kangas <stefankangas <at> gmail.com>
>> From: Harald Jörg <haj <at> posteo.de>
>> Date: Mon, 08 Jan 2024 08:23:35 +0000
>> [...]
>> I suggest this patch should go to the emacs-29 branch.
>
> Sorry, no new commands/features on the release branch at this time.
> This should go to master.
>
> Thanks.

Thanks for reviewing!

I understand - and have now pushed the patch to master.
-- 
Cheers,
haj




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17948; Package emacs. (Mon, 08 Jan 2024 19:28:01 GMT) Full text and rfc822 format available.

Message #37 received at 17948 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Harald Jörg <haj <at> posteo.de>, Eli Zaretskii <eliz <at> gnu.org>
Cc: larsi <at> gnus.org, 17948 <at> debbugs.gnu.org
Subject: Re: bug#17948: 24.3;
 cperl: Needs an equivalent to `c-file-style' [PATCH]
Date: Mon, 8 Jan 2024 11:27:20 -0800
Harald Jörg <haj <at> posteo.de> writes:

> I understand - and have now pushed the patch to master.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17948; Package emacs. (Tue, 09 Jan 2024 16:07:01 GMT) Full text and rfc822 format available.

Message #40 received at 17948 <at> debbugs.gnu.org (full text, mbox):

From: john muhl <jm <at> pub.pink>
To: Harald Jörg <haj <at> posteo.de>
Cc: Eli Zaretskii <eliz <at> gnu.org>, larsi <at> gnus.org, 17948 <at> debbugs.gnu.org,
 stefankangas <at> gmail.com
Subject: Re: bug#17948: 24.3; cperl: Needs an equivalent to `c-file-style'
Date: Tue, 09 Jan 2024 10:06:33 -0600
[Message part 1 (text/plain, inline)]
Harald Jörg <haj <at> posteo.de> writes:

> Eli Zaretskii writes:
>
>>> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, Stefan Kangas <stefankangas <at> gmail.com>
>>> From: Harald Jörg <haj <at> posteo.de>
>>> Date: Mon, 08 Jan 2024 08:23:35 +0000
>>> [...]
>>> I suggest this patch should go to the emacs-29 branch.
>>
>> Sorry, no new commands/features on the release branch at this time.
>> This should go to master.
>>
>> Thanks.
>
> Thanks for reviewing!
>
> I understand - and have now pushed the patch to master.

This commit causes a couple of cperl-mode indent tests to start
failing. Attached is the log from running:

  make -k -C test check-lisp-progmodes

[cperl-mode-tests.log (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17948; Package emacs. (Tue, 09 Jan 2024 18:24:02 GMT) Full text and rfc822 format available.

Message #43 received at 17948 <at> debbugs.gnu.org (full text, mbox):

From: Harald Jörg <haj <at> posteo.de>
To: john muhl <jm <at> pub.pink>
Cc: Eli Zaretskii <eliz <at> gnu.org>, larsi <at> gnus.org, 17948 <at> debbugs.gnu.org,
 stefankangas <at> gmail.com
Subject: Re: bug#17948: 24.3; cperl: Needs an equivalent to `c-file-style'
Date: Tue, 09 Jan 2024 18:23:05 +0000
john muhl <jm <at> pub.pink> writes:

> Harald Jörg <haj <at> posteo.de> writes:
> 
>> Eli Zaretskii writes:
>>
>>>> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, Stefan Kangas <stefankangas <at> gmail.com>
>>>> From: Harald Jörg <haj <at> posteo.de>
>>>> Date: Mon, 08 Jan 2024 08:23:35 +0000
>>>> [...]
>>>> I suggest this patch should go to the emacs-29 branch.
>>>
>>> Sorry, no new commands/features on the release branch at this time.
>>> This should go to master.
>>>
>>> Thanks.
>>
>> Thanks for reviewing!
>>
>> I understand - and have now pushed the patch to master.
>
> This commit causes a couple of cperl-mode indent tests to start
> failing. Attached is the log from running:
>
>   make -k -C test check-lisp-progmodes

Indeed: I forgot to push the tests.  They need to use the new command to
make sure that settings don't bleed out into the following tests.

My bad.  I should have double-checked that.
Pushed now.
-- 
Cheers,
haj




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#17948; Package emacs. (Fri, 08 Mar 2024 08:15:02 GMT) Full text and rfc822 format available.

Message #46 received at 17948 <at> debbugs.gnu.org (full text, mbox):

From: Harald Jörg <haj <at> posteo.de>
To: 17948 <at> debbugs.gnu.org
Subject: Emacs bug control: close 17948
Date: Fri, 08 Mar 2024 08:13:31 +0000
close 17948
thanks

After I've done my homework, I guess we can now close this bug (again).

-- 
Cheers,
haj




bug closed, send any further explanations to 17948 <at> debbugs.gnu.org and Samuel Bronson <naesten <at> gmail.com> Request was from Harald Jörg <haj <at> posteo.de> to control <at> debbugs.gnu.org. (Fri, 08 Mar 2024 08:15:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 05 Apr 2024 11:24:26 GMT) Full text and rfc822 format available.

This bug report was last modified 14 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.