unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#23294: 25.0.92; modify-file-local-variable-prop-line adds extra "; "
@ 2016-04-15  1:52 Mohammed Sadik P. K.
  2016-04-15  7:55 ` Alexis
  2018-08-14 10:05 ` bug#23294: Wenjamin Petrenko
  0 siblings, 2 replies; 7+ messages in thread
From: Mohammed Sadik P. K. @ 2016-04-15  1:52 UTC (permalink / raw)
  To: 23294

For the function modify-file-local-variable-prop-line if run with
'add-or-replace as the third argument, it should replace the current
values. It does, but along with replacing the values, it adds an extra "; " at
the beginning of the variable.

Eg.:

my current first line:
   /* -*- mode: c; indent-tabs-mode: t; -*- */

I executed (modify-file-local-variable-prop-line 'indent-tabs-mode 'nil
'add-or-replace)

The result was:

   /* -*- mode: c; ; indent-tabs-mode: nil; -*- */

Expected result:

   /* -*- mode: c; indent-tabs-mode: nil; -*- */

Each time I run the function, an "; " is added.



In GNU Emacs 25.0.92.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.9)
 of 2016-04-13 built on fedora.localdomain
Windowing system distributor 'Fedora Project', version 11.0.11800000
Configured features:
XPM JPEG TIFF GIF PNG SOUND DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS
LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11

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

Major mode: C/l

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-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
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent messages:
Undo!
(No changes need to be saved)
For this change to take effect revisit file using M-x revert-buffer
Saving file /home/sadiq/test.c...
Wrote /home/sadiq/test.c
Making completion list... [2 times]
nil
Saving file /home/sadiq/test.c...
Wrote /home/sadiq/test.c
Making completion list...

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec epg epg-config gnus-util mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils thingatpt help-fns
debug files-x cl-extra help-mode cc-mode cc-fonts easymenu cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
cl-loaddefs pcase cl-lib time-date mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
dbusbind inotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 107079 7193)
 (symbols 48 21723 0)
 (miscs 40 82 182)
 (strings 32 20174 4378)
 (string-bytes 1 689608)
 (vectors 16 14280)
 (vector-slots 8 449743 7625)
 (floats 8 168 213)
 (intervals 56 281 16)
 (buffers 976 14)
 (heap 1024 54266 1231))





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

* bug#23294: 25.0.92; modify-file-local-variable-prop-line adds extra "; "
  2016-04-15  1:52 bug#23294: 25.0.92; modify-file-local-variable-prop-line adds extra "; " Mohammed Sadik P. K.
@ 2016-04-15  7:55 ` Alexis
  2018-06-05 23:51   ` Noam Postavsky
  2018-08-14 10:05 ` bug#23294: Wenjamin Petrenko
  1 sibling, 1 reply; 7+ messages in thread
From: Alexis @ 2016-04-15  7:55 UTC (permalink / raw)
  To: Mohammed Sadik P. K.; +Cc: 23294


Mohammed Sadik P. K. <sadiq@sadiqpk.org> writes:

> For the function modify-file-local-variable-prop-line if run 
> with 'add-or-replace as the third argument, it should replace 
> the current values. It does, but along with replacing the 
> values, it adds an extra "; " at the beginning of the variable.
>
> Eg.:
>
> my current first line: 
>    /* -*- mode: c; indent-tabs-mode: t; -*- */
>
> I executed (modify-file-local-variable-prop-line 
> 'indent-tabs-mode 'nil 'add-or-replace)
>
> The result was:
>
>    /* -*- mode: c; ; indent-tabs-mode: nil; -*- */
>
> Expected result:
>
>    /* -*- mode: c; indent-tabs-mode: nil; -*- */
>
> Each time I run the function, an "; " is added.

Reproduced on 24.5 (Debian Jessie x86_64).





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

* bug#23294: 25.0.92; modify-file-local-variable-prop-line adds extra "; "
  2016-04-15  7:55 ` Alexis
@ 2018-06-05 23:51   ` Noam Postavsky
  0 siblings, 0 replies; 7+ messages in thread
From: Noam Postavsky @ 2018-06-05 23:51 UTC (permalink / raw)
  To: Alexis; +Cc: 23294, Mohammed Sadik P. K.

severity 23294 minor
found 23294 26.1
tags 23294 + confirmed easy
quit

Alexis <flexibeast@gmail.com> writes:

> Mohammed Sadik P. K. <sadiq@sadiqpk.org> writes:
>
>> For the function modify-file-local-variable-prop-line if run with
>> 'add-or-replace as the third argument, it should replace the current
>> values. It does, but along with replacing the values, it adds an
>> extra "; " at the beginning of the variable.
>
> Reproduced on 24.5 (Debian Jessie x86_64).

Right, looks like this expression in
modify-file-local-variable-prop-line should be modified to handle some
whitespace after the semicolon.

	  (if (and (not (eq (char-before) ?\;))






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

* bug#23294:
  2016-04-15  1:52 bug#23294: 25.0.92; modify-file-local-variable-prop-line adds extra "; " Mohammed Sadik P. K.
  2016-04-15  7:55 ` Alexis
@ 2018-08-14 10:05 ` Wenjamin Petrenko
  2018-08-16  0:02   ` bug#23294: 25.0.92; modify-file-local-variable-prop-line adds extra "; " Noam Postavsky
  1 sibling, 1 reply; 7+ messages in thread
From: Wenjamin Petrenko @ 2018-08-14 10:05 UTC (permalink / raw)
  To: 23294

[-- Attachment #1: Type: text/plain, Size: 31 bytes --]

A patch with a fix is attached.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Fix-bug-23294.patch --]
[-- Type: text/x-diff; name="0001-Fix-bug-23294.patch", Size: 1062 bytes --]

From c520ac992e683abb8625bb92bfa3ac75209bc0fb Mon Sep 17 00:00:00 2001
From: Wenjamin Petrenko <wenjamin.petrenko@yandex.ru>
Date: Tue, 14 Aug 2018 11:44:18 +0300
Subject: [PATCH] Fix bug#23294

* lisp/files-x.el (modify-file-local-variable-prop-line): Handle
whitespace when checking if there's a ';' before the variable name.
---
 lisp/files-x.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lisp/files-x.el b/lisp/files-x.el
index 2a52792222..f0dfa97d40 100644
--- a/lisp/files-x.el
+++ b/lisp/files-x.el
@@ -377,7 +377,9 @@ from the -*- line ignoring the input argument VALUE."
 	   ((eq variable 'mode) (goto-char beg))
 	   ((null replaced-pos) (goto-char end))
 	   (replaced-pos (goto-char replaced-pos)))
-	  (if (and (not (eq (char-before) ?\;))
+	  (if (and (save-excursion
+		     (skip-chars-backward " \t")
+		     (not (eq (char-before) ?\;)))
 		   (not (equal (point) (marker-position beg)))
 		   ;; When existing `-*- -*-' is empty, beg > end.
 		   (not (> (marker-position beg) (marker-position end))))
-- 
2.14.1


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

* bug#23294: 25.0.92; modify-file-local-variable-prop-line adds extra "; "
  2018-08-14 10:05 ` bug#23294: Wenjamin Petrenko
@ 2018-08-16  0:02   ` Noam Postavsky
  2018-08-16 10:54     ` Wenjamin Petrenko
  0 siblings, 1 reply; 7+ messages in thread
From: Noam Postavsky @ 2018-08-16  0:02 UTC (permalink / raw)
  To: Wenjamin Petrenko; +Cc: 23294, Mohammed Sadik P. K.

tags 23294 + patch
quit

Wenjamin Petrenko <wenjamin.petrenko@yandex.com> writes:

> Subject: [PATCH] Fix bug#23294
>
> * lisp/files-x.el (modify-file-local-variable-prop-line): Handle
> whitespace when checking if there's a ';' before the variable name.

> -	  (if (and (not (eq (char-before) ?\;))
> +	  (if (and (save-excursion
> +		     (skip-chars-backward " \t")
> +		     (not (eq (char-before) ?\;)))

This looks reasonable.  Could you give a more informative summary line
please?  I.e., one where I can see what the bug is about without having
memorized all bug numbers.  And same for your email subject headers, if
you don't mind.






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

* bug#23294: 25.0.92; modify-file-local-variable-prop-line adds extra "; "
  2018-08-16  0:02   ` bug#23294: 25.0.92; modify-file-local-variable-prop-line adds extra "; " Noam Postavsky
@ 2018-08-16 10:54     ` Wenjamin Petrenko
  2018-08-25  1:59       ` Noam Postavsky
  0 siblings, 1 reply; 7+ messages in thread
From: Wenjamin Petrenko @ 2018-08-16 10:54 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: 23294, Mohammed Sadik P. K.

[-- Attachment #1: Type: text/plain, Size: 292 bytes --]

Noam Postavsky <npostavs <at> gmail.com> writes:

> This looks reasonable. Could you give a more informative summary line
> please? I.e., one where I can see what the bug is about without having
> memorized all bug numbers. And same for your email subject headers, if
> you don't mind.

Done.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Prevent-modify-file-local-variable-prop-line-from-ad.patch --]
[-- Type: text/x-diff; name="0001-Prevent-modify-file-local-variable-prop-line-from-ad.patch", Size: 1132 bytes --]

From 2ff2b81acc55e0286f7cf4b26ac5b8d5ff5e37e7 Mon Sep 17 00:00:00 2001
From: Wenjamin Petrenko <wenjamin.petrenko@yandex.ru>
Date: Tue, 14 Aug 2018 11:44:18 +0300
Subject: [PATCH] Prevent `modify-file-local-variable-prop-line' from adding extra ';'
(bug#23294)

* lisp/files-x.el (modify-file-local-variable-prop-line): Handle
whitespace when checking if there's already a ';' before the variable.
---
 lisp/files-x.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lisp/files-x.el b/lisp/files-x.el
index 2a52792222..f0dfa97d40 100644
--- a/lisp/files-x.el
+++ b/lisp/files-x.el
@@ -377,7 +377,9 @@ from the -*- line ignoring the input argument VALUE."
 	   ((eq variable 'mode) (goto-char beg))
 	   ((null replaced-pos) (goto-char end))
 	   (replaced-pos (goto-char replaced-pos)))
-	  (if (and (not (eq (char-before) ?\;))
+	  (if (and (save-excursion
+		     (skip-chars-backward " \t")
+		     (not (eq (char-before) ?\;)))
 		   (not (equal (point) (marker-position beg)))
 		   ;; When existing `-*- -*-' is empty, beg > end.
 		   (not (> (marker-position beg) (marker-position end))))
-- 
2.14.1


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

* bug#23294: 25.0.92; modify-file-local-variable-prop-line adds extra "; "
  2018-08-16 10:54     ` Wenjamin Petrenko
@ 2018-08-25  1:59       ` Noam Postavsky
  0 siblings, 0 replies; 7+ messages in thread
From: Noam Postavsky @ 2018-08-25  1:59 UTC (permalink / raw)
  To: Wenjamin Petrenko; +Cc: 23294, Mohammed Sadik P. K.

tags 23294 fixed
close 23294 26.2
quit

Wenjamin Petrenko <wenjamin.petrenko@yandex.ru> writes:

> Noam Postavsky <npostavs <at> gmail.com> writes:
>
>> This looks reasonable. Could you give a more informative summary line
>> please? I.e., one where I can see what the bug is about without having
>> memorized all bug numbers. And same for your email subject headers, if
>> you don't mind.
>
> Done.

Pushed to emacs-26.

[1: 9a613d3ed0]: 2018-08-24 21:54:16 -0400
  Prevent `modify-file-local-variable-prop-line' from adding extra ';'
  https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=9a613d3ed0331f9fd2528520a96d977ebba57d7d





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

end of thread, other threads:[~2018-08-25  1:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-15  1:52 bug#23294: 25.0.92; modify-file-local-variable-prop-line adds extra "; " Mohammed Sadik P. K.
2016-04-15  7:55 ` Alexis
2018-06-05 23:51   ` Noam Postavsky
2018-08-14 10:05 ` bug#23294: Wenjamin Petrenko
2018-08-16  0:02   ` bug#23294: 25.0.92; modify-file-local-variable-prop-line adds extra "; " Noam Postavsky
2018-08-16 10:54     ` Wenjamin Petrenko
2018-08-25  1:59       ` Noam Postavsky

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).