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