GNU bug report logs -
#45349
27.1.50; ruby-mode widens buffer when saving
Previous Next
Reported by: Eric Hanchrow <eric.hanchrow <at> gmail.com>
Date: Mon, 21 Dec 2020 03:01:02 UTC
Severity: normal
Found in version 27.1.50
Fixed in version 28.1
Done: Dmitry Gutov <dgutov <at> yandex.ru>
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 45349 in the body.
You can then email your comments to 45349 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#45349
; Package
emacs
.
(Mon, 21 Dec 2020 03:01:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Eric Hanchrow <eric.hanchrow <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Mon, 21 Dec 2020 03:01:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
put the following three lines of ruby code into /tmp/wat.rb
#####
def hey_you
puts "So what"
end
####
start emacs with "emacs -nw"
visit the file:
C-x C-f /tmp/wat.rb RET
add some spaces to the end of the second line:
C-n C-e SPC SPC SPC
narrow to that second line:
C-SPC
M-m
C-x n n
save the buffer:
C-x C-s
You'll see that the buffer is no longer narrowed.
The fix is to simply add a "save-restriction" in the function
`ruby-mode-set-encoding`, like this
modified lisp/progmodes/ruby-mode.el
@@ -794,6 +794,7 @@ ruby--encoding-comment-required-p
(defun ruby-mode-set-encoding ()
"Insert a magic comment header with the proper encoding if
necessary."
(save-excursion
+ (save-restriction
(widen)
(goto-char (point-min))
(when (ruby--encoding-comment-required-p)
@@ -811,7 +812,7 @@ ruby-mode-set-encoding
(t (when ruby-insert-encoding-magic-comment
(ruby--insert-coding-comment coding-system))))
(when (buffer-modified-p)
- (basic-save-buffer-1)))))))
+ (basic-save-buffer-1))))))))
(defvar ruby--electric-indent-chars '(?. ?\) ?} ?\]))
In GNU Emacs 27.1.50 (build 2, x86_64-pc-linux-gnu)
of 2020-12-04 built on ip-10-0-0-79
Repository revision: a4dd03ebe918ebc9cfbbec70d8c8910fae822b42
Repository branch: emacs-27
System Description: Amazon Linux AMI 2018.03
Recent messages:
Saving file /mnt3/git-repos/3rd-party/emacs/lisp/progmodes/ruby-mode.el...
Wrote /mnt3/git-repos/3rd-party/emacs/lisp/progmodes/ruby-mode.el
ruby-mode-set-encoding
Mark set
Saving file /tmp/wat.rb...
Wrote /tmp/wat.rb
Mark set [2 times]
Saving file /tmp/wat.rb...
Wrote /tmp/wat.rb
Mark saved where search started
Configured using:
'configure --without-x'
Configured features:
SOUND NOTIFY INOTIFY LIBSELINUX GNUTLS LIBXML2 ZLIB XIM MODULES THREADS
PDUMPER GMP
Important settings:
value of $LC_ALL: en_US.UTF-8
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: Emacs-Lisp
Minor modes in effect:
bug-reference-prog-mode: t
magit-auto-revert-mode: t
global-git-commit-mode: t
async-bytecomp-package-mode: t
projectile-mode: t
savehist-mode: t
elisp-slime-nav-mode: t
shell-dirtrack-mode: t
ws-butler-mode: t
global-auto-revert-mode: t
recentf-mode: t
ido-everywhere: t
tracking-mode: t
override-global-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-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
line-number-mode: t
transient-mark-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug sendmail log-view vc vc-dispatcher debug
backtrace cus-start cus-load eieio-opt speedbar sb-image ezimage dframe
rect gud ffap tabify man jka-compr ruby-mode smie iso-transl ix grapnel
bug-reference cl-print help-fns radix-tree mule-util dabbrev misearch
multi-isearch apropos perl6-detect lui-track-bar lui-track
magit-bookmark magit-submodule magit-obsolete magit-blame magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log
which-func magit-diff smerge-mode diff magit-core magit-autorevert
magit-margin magit-transient magit-process magit-mode git-commit
transient magit-git magit-section magit-utils crm log-edit message
rfc822 mml mml-sec epa epg epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader pcvs-util add-log
with-editor async-bytecomp async server projectile cursor-sensor
term/xterm xterm savehist twisted-mode org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete
org-list org-faces org-entities org-version ob-emacs-lisp ob-core
ob-eval org-table ol org-keys org-compat org-macs org-loaddefs
work-log-mode elisp-slime-nav etags fileloop generator bookmark
flymake-proc flymake mwheel warnings python tramp-sh tramp
tramp-loaddefs trampver tramp-integration files-x tramp-compat shell
pcomplete parse-time iso8601 ls-lisp edit-list pp browse-kill-ring
delsel eww mm-url gnus nnheader gnus-util rmail rmail-loaddefs rfc2047
rfc2045 ietf-drums time-date mail-utils mm-util mail-prsvr url-queue url
url-proxy url-privacy url-expand url-methods url-history mailcap shr
text-property-search url-cookie url-domsuf image svg xml dom format-spec
ws-butler wat derived autorevert vc-git hl-line ibuf-ext ibuffer
ibuffer-loaddefs ibuf-macs cl lsp-mode lsp-protocol xref project
url-util spinner pcase network-stream nsm rmc markdown-mode color
noutline outline lv inline imenu ht filenotify f s ewoc dash-functional
dash bindat dired-x dired dired-loaddefs grep compile comint ansi-color
find-func recentf tree-widget wid-edit ido circe-chanop diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs circe-new-day-notifier
circe advice diff-mode lui-irc-colors irc gnutls puny lcs lui-format lui
tracking shorten thingatpt paren flyspell ispell ring circe-compat
edmacro kmacro adaptive-wrap cl-extra help-mode face-remap
alphabetize-json use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key easy-mmode
use-package-core finder-inf gh-common marshal eieio-compat regexp-opt rx
info tool-bar package easymenu browse-url url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x map url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type tabulated-list replace newcomment
text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch timer select mouse jit-lock font-lock syntax
facemenu font-core term/tty-colors frame minibuffer 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 composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
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 threads inotify
multi-tty make-network-process emacs)
Memory information:
((conses 16 2175918 349601)
(symbols 48 57407 6)
(strings 32 270955 36472)
(string-bytes 1 7444009)
(vectors 16 62351)
(vector-slots 8 1111470 121082)
(floats 8 3152 11089)
(intervals 56 132518 8142)
(buffers 1000 55)
(heap 1024 88222 6475))
[Message part 2 (text/html, inline)]
Reply sent
to
Dmitry Gutov <dgutov <at> yandex.ru>
:
You have taken responsibility.
(Tue, 22 Dec 2020 01:18:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Eric Hanchrow <eric.hanchrow <at> gmail.com>
:
bug acknowledged by developer.
(Tue, 22 Dec 2020 01:18:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 45349-done <at> debbugs.gnu.org (full text, mbox):
Version: 28.1
Hi Eric,
On 21.12.2020 04:59, Eric Hanchrow wrote:
> put the following three lines of ruby code into /tmp/wat.rb
>
> #####
> def hey_you
> puts "So what"
> end
> ####
>
> start emacs with "emacs -nw"
> visit the file:
> C-x C-f /tmp/wat.rb RET
> add some spaces to the end of the second line:
> C-n C-e SPC SPC SPC
> narrow to that second line:
> C-SPC
> M-m
> C-x n n
> save the buffer:
> C-x C-s
>
> You'll see that the buffer is no longer narrowed.
>
> The fix is to simply add a "save-restriction" in the function
> `ruby-mode-set-encoding`, like this
Thanks for the report, now fixed on master.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Tue, 19 Jan 2021 12:24:06 GMT)
Full text and
rfc822 format available.
This bug report was last modified 4 years and 150 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.