From unknown Sun Jun 22 00:19:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#45349: 27.1.50; ruby-mode widens buffer when saving Resent-From: Eric Hanchrow Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 21 Dec 2020 03:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 45349 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 45349@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.160851961718061 (code B ref -1); Mon, 21 Dec 2020 03:01:02 +0000 Received: (at submit) by debbugs.gnu.org; 21 Dec 2020 03:00:17 +0000 Received: from localhost ([127.0.0.1]:45872 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1krBQm-0004hF-LN for submit@debbugs.gnu.org; Sun, 20 Dec 2020 22:00:17 -0500 Received: from lists.gnu.org ([209.51.188.17]:34322) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1krBQk-0004h7-9N for submit@debbugs.gnu.org; Sun, 20 Dec 2020 22:00:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59990) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1krBQj-0001XD-W5 for bug-gnu-emacs@gnu.org; Sun, 20 Dec 2020 22:00:14 -0500 Received: from mail-qk1-x733.google.com ([2607:f8b0:4864:20::733]:34041) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1krBQh-0006of-IB for bug-gnu-emacs@gnu.org; Sun, 20 Dec 2020 22:00:13 -0500 Received: by mail-qk1-x733.google.com with SMTP id c7so7772368qke.1 for ; Sun, 20 Dec 2020 19:00:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=OZz3uvkfu3RK3wPYSprSWRbmyzG4zZetayGoL31xaNE=; b=EBsUhMGU2qtbEUbDFMxrTrzdiHiWZSBJgGPDlDHkMHKJ3NS0IlqWVAftCsPG+Dcmtm GhK3DTrttvVa6HeEIiIE+bUDV+7jZ4uzpgRV/NdeOsWp4s03ybynQnyOI0j8XAneuRVq bWrLZBbtSafM3JWNm3ZUcujzvER7i2ta9+TY6L0+1jiVKOnh6ntEBMJdwjuzDBr583EI Ps0F8VbYPJ6P1Olz6HHnjm6mYBtrGV5wnfS7llieqE69WdgkF+7GNuEh+yxD6xYCZTny 92swgEAOox5QtrFf9YU2dHvRhdTq8T4xRZjIl0NBB85xcmBY733jSu8X6e03EhRKGmlV VdYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=OZz3uvkfu3RK3wPYSprSWRbmyzG4zZetayGoL31xaNE=; b=g6cusevahoksUIqVd0H4LXBzz4onFar5thXoLSssoYG6GVSByOlH5l7hU4gdQmG0J4 ADT7s1ttXAbhEtIz89aJ3cp5QkOcCFXAtz8VXg5VA4ccezvXR8gzDNpgEDKs/PKDS7VI Eltkh3hMVPr5N6fXGs0I7L/uYq4bOLxRuv6ppPy8b1582ipMMLx9AIs0xAWARHTVpKse V6spkuEXJGejiT96i+9aSMpVF74M1mjWZgjcjWxV3b4uOk00WIXvwROL+dIKDnCrClA+ mce3N3yXQ8ioMR1SHgb/XmNp+D/madllZ/+NH6hwWDr36kPOoWWm5tMiWSSOFEor3h2K W1Ng== X-Gm-Message-State: AOAM533QNE/EqgS99I5A3RxEO40NCMRt83+h1GDI/StDSPOXUFKealF7 yiW7wrgg0y2tKdGOUPmGh7S2bOh2XNQqrZSvZ84BEV/9kqHKyQ== X-Google-Smtp-Source: ABdhPJxmDhOyLpSmdPxr/wJiUH0hc5oE/JSVapQed4v94y7NmiHOSYQsRN5yIQJXqPr7Vdh8yKi+BiOcqQ/nZj9tdO4= X-Received: by 2002:a05:620a:122d:: with SMTP id v13mr3187161qkj.186.1608519609479; Sun, 20 Dec 2020 19:00:09 -0800 (PST) MIME-Version: 1.0 From: Eric Hanchrow Date: Sun, 20 Dec 2020 18:59:58 -0800 Message-ID: Content-Type: multipart/alternative; boundary="000000000000eff42d05b6f0a787" Received-SPF: pass client-ip=2607:f8b0:4864:20::733; envelope-from=eric.hanchrow@gmail.com; helo=mail-qk1-x733.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --000000000000eff42d05b6f0a787 Content-Type: text/plain; charset="UTF-8" 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)) --000000000000eff42d05b6f0a787 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
put the following three lines of ruby code into /tmp/wat.r= b

#####
def hey_you
=C2=A0 puts "So what"
end
= ####

start emacs with "emacs -nw"
visit the file:
= =C2=A0 C-x C-f /tmp/wat.rb RET
add some spaces to the end of the second = line:
=C2=A0 C-n C-e SPC SPC SPC
narrow to that second line:
=C2= =A0 C-SPC
=C2=A0 M-m
=C2=A0 C-x n n
save the buffer:
=C2=A0 C-x= C-s

You'll see that the buffer is no longer narrowed.

Th= e fix is to simply add a "save-restriction" in the function
`r= uby-mode-set-encoding`, like this

=C2=A0 =C2=A0 modified =C2=A0 lisp= /progmodes/ruby-mode.el
=C2=A0 =C2=A0 @@ -794,6 +794,7 @@ ruby--encoding= -comment-required-p
=C2=A0 =C2=A0 =C2=A0(defun ruby-mode-set-encoding ()=
=C2=A0 =C2=A0 =C2=A0 =C2=A0"Insert a magic comment header with the= proper encoding if necessary."
=C2=A0 =C2=A0 =C2=A0 =C2=A0(save-ex= cursion
=C2=A0 =C2=A0 + =C2=A0 =C2=A0(save-restriction
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0(widen)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0(goto-char (point-min))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(= when (ruby--encoding-comment-required-p)
=C2=A0 =C2=A0 @@ -811,7 +812,7 = @@ ruby-mode-set-encoding
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(t (when ruby-insert-encoding-magic-c= omment
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (ruby--insert-coding-comment coding-syst= em))))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(wh= en (buffer-modified-p)
=C2=A0 =C2=A0 - =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0(basic-save-buffer-1)))))))
=C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(basic-save-buffer-1))))))))

=C2=A0 = =C2=A0 =C2=A0(defvar ruby--electric-indent-chars '(?. ?\) ?} ?\]))
<= br>
In GNU Emacs 27.1.50 (build 2, x86_64-pc-linux-gnu)
=C2=A0of 2020= -12-04 built on ip-10-0-0-79
Repository revision: a4dd03ebe918ebc9cfbbec= 70d8c8910fae822b42
Repository branch: emacs-27
System Description: Am= azon Linux AMI 2018.03

Recent messages:
Saving file /mnt3/git-rep= os/3rd-party/emacs/lisp/progmodes/ruby-mode.el...
Wrote /mnt3/git-repos/= 3rd-party/emacs/lisp/progmodes/ruby-mode.el
ruby-mode-set-encoding
Ma= rk set
Saving file /tmp/wat.rb...
Wrote /tmp/wat.rb
Mark set [2 ti= mes]
Saving file /tmp/wat.rb...
Wrote /tmp/wat.rb
Mark saved where= search started

Configured using:
=C2=A0'configure --without-= x'

Configured features:
SOUND NOTIFY INOTIFY LIBSELINUX GNUTL= S LIBXML2 ZLIB XIM MODULES THREADS
PDUMPER GMP

Important settings= :
=C2=A0 value of $LC_ALL: en_US.UTF-8
=C2=A0 value of $LANG: en_US.U= TF-8
=C2=A0 locale-coding-system: utf-8-unix

Major mode: Emacs-Li= sp

Minor modes in effect:
=C2=A0 bug-reference-prog-mode: t
= =C2=A0 magit-auto-revert-mode: t
=C2=A0 global-git-commit-mode: t
=C2= =A0 async-bytecomp-package-mode: t
=C2=A0 projectile-mode: t
=C2=A0 s= avehist-mode: t
=C2=A0 elisp-slime-nav-mode: t
=C2=A0 shell-dirtrack-= mode: t
=C2=A0 ws-butler-mode: t
=C2=A0 global-auto-revert-mode: t=C2=A0 recentf-mode: t
=C2=A0 ido-everywhere: t
=C2=A0 tracking-mode= : t
=C2=A0 override-global-mode: t
=C2=A0 tooltip-mode: t
=C2=A0 g= lobal-eldoc-mode: t
=C2=A0 eldoc-mode: t
=C2=A0 file-name-shadow-mode= : t
=C2=A0 global-font-lock-mode: t
=C2=A0 font-lock-mode: t
=C2= =A0 auto-composition-mode: t
=C2=A0 auto-encryption-mode: t
=C2=A0 au= to-compression-mode: t
=C2=A0 line-number-mode: t
=C2=A0 transient-ma= rk-mode: t

Load-path shadows:
None found.

Features:
(sh= adow sort mail-extr emacsbug sendmail log-view vc vc-dispatcher debug
ba= cktrace cus-start cus-load eieio-opt speedbar sb-image ezimage dframe
re= ct gud ffap tabify man jka-compr ruby-mode smie iso-transl ix grapnel
bu= g-reference cl-print help-fns radix-tree mule-util dabbrev misearch
mult= i-isearch apropos perl6-detect lui-track-bar lui-track
magit-bookmark ma= git-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 m= agit-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-proc= ess 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-pcompl= ete
org-list org-faces org-entities org-version ob-emacs-lisp ob-coreob-eval org-table ol org-keys org-compat org-macs org-loaddefs
work-log= -mode elisp-slime-nav etags fileloop generator bookmark
flymake-proc fly= make 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-util= s 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-doms= uf 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-pro= tocol xref project
url-util spinner pcase network-stream nsm rmc markdow= n-mode color
noutline outline lv inline imenu ht filenotify f s ewoc das= h-functional
dash bindat dired-x dired dired-loaddefs grep compile comin= t ansi-color
find-func recentf tree-widget wid-edit ido circe-chanop dia= ry-lib
diary-loaddefs cal-menu calendar cal-loaddefs circe-new-day-notif= ier
circe advice diff-mode lui-irc-colors irc gnutls puny lcs lui-format= lui
tracking shorten thingatpt paren flyspell ispell ring circe-compat<= br>edmacro kmacro adaptive-wrap cl-extra help-mode face-remap
alphabetiz= e-json use-package use-package-ensure use-package-delight
use-package-di= minish 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 e= asymenu 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 eldo= c electric uniquify
ediff-hook vc-hooks lisp-float-type tabulated-list r= eplace newcomment
text-mode elisp-mode lisp-mode prog-mode register page= tab-bar menu-bar
rfn-eshadow isearch timer select mouse jit-lock font-l= ock syntax
facemenu font-core term/tty-colors frame minibuffer cl-generi= c cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet la= o
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czecheuropean ethiopic indian cyrillic chinese composite charscript charpropcase-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preload= ed nadvice loaddefs button faces cus-face macroexp files
text-properties= overlay sha1 md5 base64 format env code-pages mule
custom widget hashta= ble-print-readable backquote threads inotify
multi-tty make-network-proc= ess emacs)

Memory information:
((conses 16 2175918 349601)
=C2= =A0(symbols 48 57407 6)
=C2=A0(strings 32 270955 36472)
=C2=A0(string= -bytes 1 7444009)
=C2=A0(vectors 16 62351)
=C2=A0(vector-slots 8 1111= 470 121082)
=C2=A0(floats 8 3152 11089)
=C2=A0(intervals 56 132518 81= 42)
=C2=A0(buffers 1000 55)
=C2=A0(heap 1024 88222 6475))
--000000000000eff42d05b6f0a787-- From unknown Sun Jun 22 00:19:51 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Eric Hanchrow Subject: bug#45349: closed (Re: bug#45349: 27.1.50; ruby-mode widens buffer when saving) Message-ID: References: <55c93b4f-be28-8863-7a01-d369d8402827@yandex.ru> X-Gnu-PR-Message: they-closed 45349 X-Gnu-PR-Package: emacs Reply-To: 45349@debbugs.gnu.org Date: Tue, 22 Dec 2020 01:18:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1608599882-9867-1" This is a multi-part message in MIME format... ------------=_1608599882-9867-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #45349: 27.1.50; ruby-mode widens buffer when saving which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 45349@debbugs.gnu.org. --=20 45349: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D45349 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1608599882-9867-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 45349-done) by debbugs.gnu.org; 22 Dec 2020 01:18:00 +0000 Received: from localhost ([127.0.0.1]:48592 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1krWJL-0002Yv-SG for submit@debbugs.gnu.org; Mon, 21 Dec 2020 20:18:00 -0500 Received: from mail-ej1-f46.google.com ([209.85.218.46]:47067) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1krWJJ-0002Yb-Dg for 45349-done@debbugs.gnu.org; Mon, 21 Dec 2020 20:17:58 -0500 Received: by mail-ej1-f46.google.com with SMTP id j22so16027498eja.13 for <45349-done@debbugs.gnu.org>; Mon, 21 Dec 2020 17:17:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=6ukya56jKpf9JAJ3mzXljIPNqehphLtjuQK+UaKPDeI=; b=QoWm7Z+Unhqm6vANCiHbYnRZRGoosR2gFQhZKFM/5HVjU+yXxZAnAbczpzXYd53nih tBJsl9SlDa0qmAw14mPONmFTl+4dx3CvJqCIoG+KcfROJ6AHR+Ce+/qjY0JQKog8jHCF Z1z4bMrJlX4Nw2LCdyciGgFOzcd2K4kMNNHwVEllLEidcPKwZFWxQ5PqNkcezwqCy6FV UETlsN67VBycfTagtWVZLNMwVqQ3mAnCfcikL1FaPlSddgkmJAwqz9DpbRmJvsS/t8pr 13zaPEkAWO2UzvS52COzZGMLNXA+CDYMFzASqRLHFRCFyFGP4ndBnKKs98+QFXSqyLoI 6Ayw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=6ukya56jKpf9JAJ3mzXljIPNqehphLtjuQK+UaKPDeI=; b=eEC8lRIR0xFaAFgOdjS9Sefwgvrlh1r37IMXtcD/F9ohAnFwKWJEIPdLkBNoWl2m12 kV3vyb2K6H5ZKwJgJK3ZmMn8jwwfk55TNjFEBRyCl+/HqX1qXANo+kcCw9m8S4GNn8WI 8477C+ujeDSWccU1CBu1zTqQvRAccgr995KSsEPtu+SxQOu9/1HwQpcZz8Sbcd+MEKE7 7leECwIfxLgaeZzwuqU868N6Da/LS3sxQIID+rdIhezGoeV1NQ1IpcPkmD824AH1UK2J +GqSv09YYwPZx9k1XjP5vYBjZ9EH0vjpIjAIOG4LViNjOuAoYONL/s5DBIT62/CZ2Y52 nwvA== X-Gm-Message-State: AOAM533p0ZrJdzlosWwthlff65oFqC08NvM8YZKTE4tH9ctGU9DgFA5F /cejyCvqlgP6opas1nH+bDOK6jDu2xmKBg== X-Google-Smtp-Source: ABdhPJyAuCBhn7eUEmP5JHTncSMIJKP8fUTsS3NxhYfRINEyIcRqrON3rsIvQ4qnwX1d/X3kpfAfcA== X-Received: by 2002:a17:906:259a:: with SMTP id m26mr17985978ejb.399.1608599871399; Mon, 21 Dec 2020 17:17:51 -0800 (PST) Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id cb21sm29551427edb.57.2020.12.21.17.17.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 21 Dec 2020 17:17:50 -0800 (PST) Subject: Re: bug#45349: 27.1.50; ruby-mode widens buffer when saving To: Eric Hanchrow , 45349-done@debbugs.gnu.org References: From: Dmitry Gutov Message-ID: <55c93b4f-be28-8863-7a01-d369d8402827@yandex.ru> Date: Tue, 22 Dec 2020 03:17:49 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45349-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) 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. ------------=_1608599882-9867-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 21 Dec 2020 03:00:17 +0000 Received: from localhost ([127.0.0.1]:45872 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1krBQm-0004hF-LN for submit@debbugs.gnu.org; Sun, 20 Dec 2020 22:00:17 -0500 Received: from lists.gnu.org ([209.51.188.17]:34322) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1krBQk-0004h7-9N for submit@debbugs.gnu.org; Sun, 20 Dec 2020 22:00:15 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:59990) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1krBQj-0001XD-W5 for bug-gnu-emacs@gnu.org; Sun, 20 Dec 2020 22:00:14 -0500 Received: from mail-qk1-x733.google.com ([2607:f8b0:4864:20::733]:34041) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1krBQh-0006of-IB for bug-gnu-emacs@gnu.org; Sun, 20 Dec 2020 22:00:13 -0500 Received: by mail-qk1-x733.google.com with SMTP id c7so7772368qke.1 for ; Sun, 20 Dec 2020 19:00:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=OZz3uvkfu3RK3wPYSprSWRbmyzG4zZetayGoL31xaNE=; b=EBsUhMGU2qtbEUbDFMxrTrzdiHiWZSBJgGPDlDHkMHKJ3NS0IlqWVAftCsPG+Dcmtm GhK3DTrttvVa6HeEIiIE+bUDV+7jZ4uzpgRV/NdeOsWp4s03ybynQnyOI0j8XAneuRVq bWrLZBbtSafM3JWNm3ZUcujzvER7i2ta9+TY6L0+1jiVKOnh6ntEBMJdwjuzDBr583EI Ps0F8VbYPJ6P1Olz6HHnjm6mYBtrGV5wnfS7llieqE69WdgkF+7GNuEh+yxD6xYCZTny 92swgEAOox5QtrFf9YU2dHvRhdTq8T4xRZjIl0NBB85xcmBY733jSu8X6e03EhRKGmlV VdYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=OZz3uvkfu3RK3wPYSprSWRbmyzG4zZetayGoL31xaNE=; b=g6cusevahoksUIqVd0H4LXBzz4onFar5thXoLSssoYG6GVSByOlH5l7hU4gdQmG0J4 ADT7s1ttXAbhEtIz89aJ3cp5QkOcCFXAtz8VXg5VA4ccezvXR8gzDNpgEDKs/PKDS7VI Eltkh3hMVPr5N6fXGs0I7L/uYq4bOLxRuv6ppPy8b1582ipMMLx9AIs0xAWARHTVpKse V6spkuEXJGejiT96i+9aSMpVF74M1mjWZgjcjWxV3b4uOk00WIXvwROL+dIKDnCrClA+ mce3N3yXQ8ioMR1SHgb/XmNp+D/madllZ/+NH6hwWDr36kPOoWWm5tMiWSSOFEor3h2K W1Ng== X-Gm-Message-State: AOAM533QNE/EqgS99I5A3RxEO40NCMRt83+h1GDI/StDSPOXUFKealF7 yiW7wrgg0y2tKdGOUPmGh7S2bOh2XNQqrZSvZ84BEV/9kqHKyQ== X-Google-Smtp-Source: ABdhPJxmDhOyLpSmdPxr/wJiUH0hc5oE/JSVapQed4v94y7NmiHOSYQsRN5yIQJXqPr7Vdh8yKi+BiOcqQ/nZj9tdO4= X-Received: by 2002:a05:620a:122d:: with SMTP id v13mr3187161qkj.186.1608519609479; Sun, 20 Dec 2020 19:00:09 -0800 (PST) MIME-Version: 1.0 From: Eric Hanchrow Date: Sun, 20 Dec 2020 18:59:58 -0800 Message-ID: Subject: 27.1.50; ruby-mode widens buffer when saving To: bug-gnu-emacs@gnu.org Content-Type: multipart/alternative; boundary="000000000000eff42d05b6f0a787" Received-SPF: pass client-ip=2607:f8b0:4864:20::733; envelope-from=eric.hanchrow@gmail.com; helo=mail-qk1-x733.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --000000000000eff42d05b6f0a787 Content-Type: text/plain; charset="UTF-8" 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)) --000000000000eff42d05b6f0a787 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
put the following three lines of ruby code into /tmp/wat.r= b

#####
def hey_you
=C2=A0 puts "So what"
end
= ####

start emacs with "emacs -nw"
visit the file:
= =C2=A0 C-x C-f /tmp/wat.rb RET
add some spaces to the end of the second = line:
=C2=A0 C-n C-e SPC SPC SPC
narrow to that second line:
=C2= =A0 C-SPC
=C2=A0 M-m
=C2=A0 C-x n n
save the buffer:
=C2=A0 C-x= C-s

You'll see that the buffer is no longer narrowed.

Th= e fix is to simply add a "save-restriction" in the function
`r= uby-mode-set-encoding`, like this

=C2=A0 =C2=A0 modified =C2=A0 lisp= /progmodes/ruby-mode.el
=C2=A0 =C2=A0 @@ -794,6 +794,7 @@ ruby--encoding= -comment-required-p
=C2=A0 =C2=A0 =C2=A0(defun ruby-mode-set-encoding ()=
=C2=A0 =C2=A0 =C2=A0 =C2=A0"Insert a magic comment header with the= proper encoding if necessary."
=C2=A0 =C2=A0 =C2=A0 =C2=A0(save-ex= cursion
=C2=A0 =C2=A0 + =C2=A0 =C2=A0(save-restriction
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0(widen)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0(goto-char (point-min))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(= when (ruby--encoding-comment-required-p)
=C2=A0 =C2=A0 @@ -811,7 +812,7 = @@ ruby-mode-set-encoding
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(t (when ruby-insert-encoding-magic-c= omment
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (ruby--insert-coding-comment coding-syst= em))))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(wh= en (buffer-modified-p)
=C2=A0 =C2=A0 - =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0(basic-save-buffer-1)))))))
=C2=A0 =C2=A0 + =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(basic-save-buffer-1))))))))

=C2=A0 = =C2=A0 =C2=A0(defvar ruby--electric-indent-chars '(?. ?\) ?} ?\]))
<= br>
In GNU Emacs 27.1.50 (build 2, x86_64-pc-linux-gnu)
=C2=A0of 2020= -12-04 built on ip-10-0-0-79
Repository revision: a4dd03ebe918ebc9cfbbec= 70d8c8910fae822b42
Repository branch: emacs-27
System Description: Am= azon Linux AMI 2018.03

Recent messages:
Saving file /mnt3/git-rep= os/3rd-party/emacs/lisp/progmodes/ruby-mode.el...
Wrote /mnt3/git-repos/= 3rd-party/emacs/lisp/progmodes/ruby-mode.el
ruby-mode-set-encoding
Ma= rk set
Saving file /tmp/wat.rb...
Wrote /tmp/wat.rb
Mark set [2 ti= mes]
Saving file /tmp/wat.rb...
Wrote /tmp/wat.rb
Mark saved where= search started

Configured using:
=C2=A0'configure --without-= x'

Configured features:
SOUND NOTIFY INOTIFY LIBSELINUX GNUTL= S LIBXML2 ZLIB XIM MODULES THREADS
PDUMPER GMP

Important settings= :
=C2=A0 value of $LC_ALL: en_US.UTF-8
=C2=A0 value of $LANG: en_US.U= TF-8
=C2=A0 locale-coding-system: utf-8-unix

Major mode: Emacs-Li= sp

Minor modes in effect:
=C2=A0 bug-reference-prog-mode: t
= =C2=A0 magit-auto-revert-mode: t
=C2=A0 global-git-commit-mode: t
=C2= =A0 async-bytecomp-package-mode: t
=C2=A0 projectile-mode: t
=C2=A0 s= avehist-mode: t
=C2=A0 elisp-slime-nav-mode: t
=C2=A0 shell-dirtrack-= mode: t
=C2=A0 ws-butler-mode: t
=C2=A0 global-auto-revert-mode: t=C2=A0 recentf-mode: t
=C2=A0 ido-everywhere: t
=C2=A0 tracking-mode= : t
=C2=A0 override-global-mode: t
=C2=A0 tooltip-mode: t
=C2=A0 g= lobal-eldoc-mode: t
=C2=A0 eldoc-mode: t
=C2=A0 file-name-shadow-mode= : t
=C2=A0 global-font-lock-mode: t
=C2=A0 font-lock-mode: t
=C2= =A0 auto-composition-mode: t
=C2=A0 auto-encryption-mode: t
=C2=A0 au= to-compression-mode: t
=C2=A0 line-number-mode: t
=C2=A0 transient-ma= rk-mode: t

Load-path shadows:
None found.

Features:
(sh= adow sort mail-extr emacsbug sendmail log-view vc vc-dispatcher debug
ba= cktrace cus-start cus-load eieio-opt speedbar sb-image ezimage dframe
re= ct gud ffap tabify man jka-compr ruby-mode smie iso-transl ix grapnel
bu= g-reference cl-print help-fns radix-tree mule-util dabbrev misearch
mult= i-isearch apropos perl6-detect lui-track-bar lui-track
magit-bookmark ma= git-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 m= agit-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-proc= ess 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-pcompl= ete
org-list org-faces org-entities org-version ob-emacs-lisp ob-coreob-eval org-table ol org-keys org-compat org-macs org-loaddefs
work-log= -mode elisp-slime-nav etags fileloop generator bookmark
flymake-proc fly= make 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-util= s 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-doms= uf 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-pro= tocol xref project
url-util spinner pcase network-stream nsm rmc markdow= n-mode color
noutline outline lv inline imenu ht filenotify f s ewoc das= h-functional
dash bindat dired-x dired dired-loaddefs grep compile comin= t ansi-color
find-func recentf tree-widget wid-edit ido circe-chanop dia= ry-lib
diary-loaddefs cal-menu calendar cal-loaddefs circe-new-day-notif= ier
circe advice diff-mode lui-irc-colors irc gnutls puny lcs lui-format= lui
tracking shorten thingatpt paren flyspell ispell ring circe-compat<= br>edmacro kmacro adaptive-wrap cl-extra help-mode face-remap
alphabetiz= e-json use-package use-package-ensure use-package-delight
use-package-di= minish 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 e= asymenu 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 eldo= c electric uniquify
ediff-hook vc-hooks lisp-float-type tabulated-list r= eplace newcomment
text-mode elisp-mode lisp-mode prog-mode register page= tab-bar menu-bar
rfn-eshadow isearch timer select mouse jit-lock font-l= ock syntax
facemenu font-core term/tty-colors frame minibuffer cl-generi= c cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet la= o
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czecheuropean ethiopic indian cyrillic chinese composite charscript charpropcase-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preload= ed nadvice loaddefs button faces cus-face macroexp files
text-properties= overlay sha1 md5 base64 format env code-pages mule
custom widget hashta= ble-print-readable backquote threads inotify
multi-tty make-network-proc= ess emacs)

Memory information:
((conses 16 2175918 349601)
=C2= =A0(symbols 48 57407 6)
=C2=A0(strings 32 270955 36472)
=C2=A0(string= -bytes 1 7444009)
=C2=A0(vectors 16 62351)
=C2=A0(vector-slots 8 1111= 470 121082)
=C2=A0(floats 8 3152 11089)
=C2=A0(intervals 56 132518 81= 42)
=C2=A0(buffers 1000 55)
=C2=A0(heap 1024 88222 6475))
--000000000000eff42d05b6f0a787-- ------------=_1608599882-9867-1--