GNU bug report logs - #44483
27.1.50; Window parameter `min-margins' doesn't split window in half

Previous Next

Package: emacs;

Reported by: Joost Kremers <joostkremers <at> fastmail.fm>

Date: Fri, 6 Nov 2020 14:10:02 UTC

Severity: normal

Found in version 27.1.50

Fixed in version 27.2

Done: martin rudalics <rudalics <at> gmx.at>

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 44483 in the body.
You can then email your comments to 44483 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#44483; Package emacs. (Fri, 06 Nov 2020 14:10:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Joost Kremers <joostkremers <at> fastmail.fm>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 06 Nov 2020 14:10:02 GMT) Full text and rfc822 format available.

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

From: Joost Kremers <joostkremers <at> fastmail.fm>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.1.50; Window parameter `min-margins' doesn't split window in half
Date: Fri, 06 Nov 2020 15:09:36 +0100
1. Open any text file, preferably with long lines (to better see the effect).

2. `M-x visual-line-mode RET`

3. `M-: (set-window-margins (selected-window) 0 150) RET`

The number 150 is arbitrary. It's appropriate for my case (with a frame width of
about 238 characters).

4. `M-: (set-window-parameter (selected-window) 'min-margins '(0 . 0)) RET`

5. `C-x 3`

At this point, I expect the window to be split into two equally-sized
side-by-side windows, but the split is at about one third of the original window
width.

Note that in this recipe, the margins of the two windows aren't adjusted after
the split, so in the left window the text is not visible at all and in the right
window, the text area is two characters wide. (In my case, YMMV.)

The original problem came up with my package `visual-fill-column-mode'
<https://github.com/joostkremers/visual-fill-column>, where the margins are
adjusted (using `window-size-change-functions'). See also my message to
emacs-devel
<https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00218.html>.





In GNU Emacs 27.1.50 (build 4, x86_64-pc-linux-gnu, GTK+ Version 3.22.30, cairo version 1.15.10)
 of 2020-11-02 built on Swift
Repository revision: 4e6104ea0b7f1eb1725e81800e584b337e2da447
Repository branch: emacs-27
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description: elementary OS 5.1.7 Hera

Recent messages:
Mark set
Saving file /home/joost/Mail/Fastmail/Drafts/cur/1604669952.6d948821c1a4250c.swift:2,DS...
Wrote /home/joost/Mail/Fastmail/Drafts/cur/1604669952.6d948821c1a4250c.swift:2,DS
[mu4e] Saved (10 lines)
Ispell process killed
Local Ispell dictionary set to en_GB
Detected language: English
Starting new Ispell process /usr/bin/aspell with en_GB dictionary...done [2 times]
Detected language: English
Mark set

Configured using:
 'configure --with-harfbuzz --with-cairo --with-json --with-libgmp'
Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY GNUTLS
LIBXML2 FREETYPE HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES
THREADS JSON PDUMPER LCMS2 GMP
Important settings:
  value of $LC_MONETARY: en_IE.UTF-8
  value of $LC_NUMERIC: en_IE.UTF-8
  value of $LC_TIME: en_IE.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: IELM

Minor modes in effect:
  flycheck-indicator-mode: t
  org-roam-mode: t
  company-box-mode: t
  minions-mode: t
  doom-modeline-mode: t
  which-key-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-atomic-chrome-edit-mode: t
  ivy-mode: t
  pyvenv-tracking-mode: t
  projectile-mode: t
  global-diff-hl-mode: t
  async-bytecomp-package-mode: t
  electric-pair-mode: t
  shell-dirtrack-mode: t
  volatile-highlights-mode: t
  company-quickhelp-mode: t
  company-quickhelp-local-mode: t
  global-company-mode: t
  company-mode: t
  recentf-mode: t
  delete-selection-mode: t
  show-paren-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-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
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-save-visited-mode: t

Load-path shadows:
~/src/ledger-mode/ledger-reconcile hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-reconcile
~/src/ledger-mode/ledger-test hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-test
~/src/ledger-mode/ledger-navigate hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-navigate
~/src/ledger-mode/ledger-report hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-report
~/src/ledger-mode/ledger-check hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-check
~/src/ledger-mode/ledger-post hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-post
~/src/ledger-mode/ledger-mode hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-mode
~/src/ledger-mode/ledger-xact hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-xact
~/src/ledger-mode/ledger-complete hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-complete
~/src/ledger-mode/ledger-occur hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-occur
~/src/ledger-mode/ledger-schedule hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-schedule
~/src/ledger-mode/ledger-sort hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-sort
~/src/ledger-mode/ledger-regex hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-regex
~/src/ledger-mode/ledger-commodities hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-commodities
~/src/ledger-mode/ledger-fontify hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-fontify
~/src/ledger-mode/ledger-fonts hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-fonts
~/src/ledger-mode/ledger-init hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-init
~/src/ledger-mode/ledger-state hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-state
~/src/ledger-mode/ledger-exec hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-exec
~/src/ledger-mode/ledger-context hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-context
~/src/ledger-mode/ledger-flymake hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-flymake
~/src/ledger-mode/ledger-texi hides /home/joost/.emacs.d/elpa/ledger-mode-20200530.1710/ledger-texi
/home/joost/.emacs.d/elpa/auth-source-pass-20201012.1918/auth-source-pass hides /usr/local/share/emacs/27.1.50/lisp/auth-source-pass
~/.emacs.d/lisp/custom hides /usr/local/share/emacs/27.1.50/lisp/custom
/home/joost/.emacs.d/elpa/org-20201102/ob-clojure hides /usr/local/share/emacs/27.1.50/lisp/org/ob-clojure
/home/joost/.emacs.d/elpa/org-20201102/org-tempo hides /usr/local/share/emacs/27.1.50/lisp/org/org-tempo
/home/joost/.emacs.d/elpa/org-20201102/ol-docview hides /usr/local/share/emacs/27.1.50/lisp/org/ol-docview
/home/joost/.emacs.d/elpa/org-20201102/ob-css hides /usr/local/share/emacs/27.1.50/lisp/org/ob-css
/home/joost/.emacs.d/elpa/org-20201102/ob-vala hides /usr/local/share/emacs/27.1.50/lisp/org/ob-vala
/home/joost/.emacs.d/elpa/org-20201102/ob-table hides /usr/local/share/emacs/27.1.50/lisp/org/ob-table
/home/joost/.emacs.d/elpa/org-20201102/ob-R hides /usr/local/share/emacs/27.1.50/lisp/org/ob-R
/home/joost/.emacs.d/elpa/org-20201102/ob-exp hides /usr/local/share/emacs/27.1.50/lisp/org/ob-exp
/home/joost/.emacs.d/elpa/org-20201102/ob-io hides /usr/local/share/emacs/27.1.50/lisp/org/ob-io
/home/joost/.emacs.d/elpa/org-20201102/ob-picolisp hides /usr/local/share/emacs/27.1.50/lisp/org/ob-picolisp
/home/joost/.emacs.d/elpa/org-20201102/ob-scheme hides /usr/local/share/emacs/27.1.50/lisp/org/ob-scheme
/home/joost/.emacs.d/elpa/org-20201102/org-archive hides /usr/local/share/emacs/27.1.50/lisp/org/org-archive
/home/joost/.emacs.d/elpa/org-20201102/org-plot hides /usr/local/share/emacs/27.1.50/lisp/org/org-plot
/home/joost/.emacs.d/elpa/org-20201102/org-element hides /usr/local/share/emacs/27.1.50/lisp/org/org-element
/home/joost/.emacs.d/elpa/org-20201102/ob-tangle hides /usr/local/share/emacs/27.1.50/lisp/org/ob-tangle
/home/joost/.emacs.d/elpa/org-20201102/ob-groovy hides /usr/local/share/emacs/27.1.50/lisp/org/ob-groovy
/home/joost/.emacs.d/elpa/org-20201102/ob-latex hides /usr/local/share/emacs/27.1.50/lisp/org/ob-latex
/home/joost/.emacs.d/elpa/org-20201102/ob-maxima hides /usr/local/share/emacs/27.1.50/lisp/org/ob-maxima
/home/joost/.emacs.d/elpa/org-20201102/org-duration hides /usr/local/share/emacs/27.1.50/lisp/org/org-duration
/home/joost/.emacs.d/elpa/org-20201102/ob-matlab hides /usr/local/share/emacs/27.1.50/lisp/org/ob-matlab
/home/joost/.emacs.d/elpa/org-20201102/ob-screen hides /usr/local/share/emacs/27.1.50/lisp/org/ob-screen
/home/joost/.emacs.d/elpa/org-20201102/ob-lilypond hides /usr/local/share/emacs/27.1.50/lisp/org/ob-lilypond
/home/joost/.emacs.d/elpa/org-20201102/ob-processing hides /usr/local/share/emacs/27.1.50/lisp/org/ob-processing
/home/joost/.emacs.d/elpa/org-20201102/org-habit hides /usr/local/share/emacs/27.1.50/lisp/org/org-habit
/home/joost/.emacs.d/elpa/org-20201102/ol-mhe hides /usr/local/share/emacs/27.1.50/lisp/org/ol-mhe
/home/joost/.emacs.d/elpa/org-20201102/ob hides /usr/local/share/emacs/27.1.50/lisp/org/ob
/home/joost/.emacs.d/elpa/org-20201102/org-colview hides /usr/local/share/emacs/27.1.50/lisp/org/org-colview
/home/joost/.emacs.d/elpa/org-20201102/org-protocol hides /usr/local/share/emacs/27.1.50/lisp/org/org-protocol
/home/joost/.emacs.d/elpa/org-20201102/org-compat hides /usr/local/share/emacs/27.1.50/lisp/org/org-compat
/home/joost/.emacs.d/elpa/org-20201102/ob-ditaa hides /usr/local/share/emacs/27.1.50/lisp/org/ob-ditaa
/home/joost/.emacs.d/elpa/org-20201102/ob-forth hides /usr/local/share/emacs/27.1.50/lisp/org/ob-forth
/home/joost/.emacs.d/elpa/org-20201102/org-indent hides /usr/local/share/emacs/27.1.50/lisp/org/org-indent
/home/joost/.emacs.d/elpa/org-20201102/ox-texinfo hides /usr/local/share/emacs/27.1.50/lisp/org/ox-texinfo
/home/joost/.emacs.d/elpa/org-20201102/ob-ocaml hides /usr/local/share/emacs/27.1.50/lisp/org/ob-ocaml
/home/joost/.emacs.d/elpa/org-20201102/ob-lua hides /usr/local/share/emacs/27.1.50/lisp/org/ob-lua
/home/joost/.emacs.d/elpa/org-20201102/ol hides /usr/local/share/emacs/27.1.50/lisp/org/ol
/home/joost/.emacs.d/elpa/org-20201102/org-macro hides /usr/local/share/emacs/27.1.50/lisp/org/org-macro
/home/joost/.emacs.d/elpa/org-20201102/ob-eshell hides /usr/local/share/emacs/27.1.50/lisp/org/ob-eshell
/home/joost/.emacs.d/elpa/org-20201102/ob-lob hides /usr/local/share/emacs/27.1.50/lisp/org/ob-lob
/home/joost/.emacs.d/elpa/org-20201102/ox-org hides /usr/local/share/emacs/27.1.50/lisp/org/ox-org
/home/joost/.emacs.d/elpa/org-20201102/ob-awk hides /usr/local/share/emacs/27.1.50/lisp/org/ob-awk
/home/joost/.emacs.d/elpa/org-20201102/org-table hides /usr/local/share/emacs/27.1.50/lisp/org/org-table
/home/joost/.emacs.d/elpa/org-20201102/org-clock hides /usr/local/share/emacs/27.1.50/lisp/org/org-clock
/home/joost/.emacs.d/elpa/org-20201102/org-keys hides /usr/local/share/emacs/27.1.50/lisp/org/org-keys
/home/joost/.emacs.d/elpa/org-20201102/ob-mscgen hides /usr/local/share/emacs/27.1.50/lisp/org/ob-mscgen
/home/joost/.emacs.d/elpa/org-20201102/ox-md hides /usr/local/share/emacs/27.1.50/lisp/org/ox-md
/home/joost/.emacs.d/elpa/org-20201102/ob-lisp hides /usr/local/share/emacs/27.1.50/lisp/org/ob-lisp
/home/joost/.emacs.d/elpa/org-20201102/ob-abc hides /usr/local/share/emacs/27.1.50/lisp/org/ob-abc
/home/joost/.emacs.d/elpa/org-20201102/org-mobile hides /usr/local/share/emacs/27.1.50/lisp/org/org-mobile
/home/joost/.emacs.d/elpa/org-20201102/ob-J hides /usr/local/share/emacs/27.1.50/lisp/org/ob-J
/home/joost/.emacs.d/elpa/org-20201102/ol-eww hides /usr/local/share/emacs/27.1.50/lisp/org/ol-eww
/home/joost/.emacs.d/elpa/org-20201102/org-inlinetask hides /usr/local/share/emacs/27.1.50/lisp/org/org-inlinetask
/home/joost/.emacs.d/elpa/org-20201102/ob-js hides /usr/local/share/emacs/27.1.50/lisp/org/ob-js
/home/joost/.emacs.d/elpa/org-20201102/ob-hledger hides /usr/local/share/emacs/27.1.50/lisp/org/ob-hledger
/home/joost/.emacs.d/elpa/org-20201102/ob-octave hides /usr/local/share/emacs/27.1.50/lisp/org/ob-octave
/home/joost/.emacs.d/elpa/org-20201102/ob-haskell hides /usr/local/share/emacs/27.1.50/lisp/org/ob-haskell
/home/joost/.emacs.d/elpa/org-20201102/org hides /usr/local/share/emacs/27.1.50/lisp/org/org
/home/joost/.emacs.d/elpa/org-20201102/ob-sed hides /usr/local/share/emacs/27.1.50/lisp/org/ob-sed
/home/joost/.emacs.d/elpa/org-20201102/ob-asymptote hides /usr/local/share/emacs/27.1.50/lisp/org/ob-asymptote
/home/joost/.emacs.d/elpa/org-20201102/ob-org hides /usr/local/share/emacs/27.1.50/lisp/org/ob-org
/home/joost/.emacs.d/elpa/org-20201102/org-loaddefs hides /usr/local/share/emacs/27.1.50/lisp/org/org-loaddefs
/home/joost/.emacs.d/elpa/org-20201102/org-mouse hides /usr/local/share/emacs/27.1.50/lisp/org/org-mouse
/home/joost/.emacs.d/elpa/org-20201102/org-feed hides /usr/local/share/emacs/27.1.50/lisp/org/org-feed
/home/joost/.emacs.d/elpa/org-20201102/ox-beamer hides /usr/local/share/emacs/27.1.50/lisp/org/ox-beamer
/home/joost/.emacs.d/elpa/org-20201102/ol-bbdb hides /usr/local/share/emacs/27.1.50/lisp/org/ol-bbdb
/home/joost/.emacs.d/elpa/org-20201102/org-ctags hides /usr/local/share/emacs/27.1.50/lisp/org/org-ctags
/home/joost/.emacs.d/elpa/org-20201102/ol-eshell hides /usr/local/share/emacs/27.1.50/lisp/org/ol-eshell
/home/joost/.emacs.d/elpa/org-20201102/ol-bibtex hides /usr/local/share/emacs/27.1.50/lisp/org/ol-bibtex
/home/joost/.emacs.d/elpa/org-20201102/ob-ledger hides /usr/local/share/emacs/27.1.50/lisp/org/ob-ledger
/home/joost/.emacs.d/elpa/org-20201102/org-install hides /usr/local/share/emacs/27.1.50/lisp/org/org-install
/home/joost/.emacs.d/elpa/org-20201102/ox-icalendar hides /usr/local/share/emacs/27.1.50/lisp/org/ox-icalendar
/home/joost/.emacs.d/elpa/org-20201102/org-datetree hides /usr/local/share/emacs/27.1.50/lisp/org/org-datetree
/home/joost/.emacs.d/elpa/org-20201102/ob-emacs-lisp hides /usr/local/share/emacs/27.1.50/lisp/org/ob-emacs-lisp
/home/joost/.emacs.d/elpa/org-20201102/ob-dot hides /usr/local/share/emacs/27.1.50/lisp/org/ob-dot
/home/joost/.emacs.d/elpa/org-20201102/ox-publish hides /usr/local/share/emacs/27.1.50/lisp/org/ox-publish
/home/joost/.emacs.d/elpa/org-20201102/ob-sass hides /usr/local/share/emacs/27.1.50/lisp/org/ob-sass
/home/joost/.emacs.d/elpa/org-20201102/ox hides /usr/local/share/emacs/27.1.50/lisp/org/ox
/home/joost/.emacs.d/elpa/org-20201102/ob-stan hides /usr/local/share/emacs/27.1.50/lisp/org/ob-stan
/home/joost/.emacs.d/elpa/org-20201102/org-attach hides /usr/local/share/emacs/27.1.50/lisp/org/org-attach
/home/joost/.emacs.d/elpa/org-20201102/ob-shen hides /usr/local/share/emacs/27.1.50/lisp/org/ob-shen
/home/joost/.emacs.d/elpa/org-20201102/ol-irc hides /usr/local/share/emacs/27.1.50/lisp/org/ol-irc
/home/joost/.emacs.d/elpa/org-20201102/ob-java hides /usr/local/share/emacs/27.1.50/lisp/org/ob-java
/home/joost/.emacs.d/elpa/org-20201102/org-crypt hides /usr/local/share/emacs/27.1.50/lisp/org/org-crypt
/home/joost/.emacs.d/elpa/org-20201102/ob-plantuml hides /usr/local/share/emacs/27.1.50/lisp/org/ob-plantuml
/home/joost/.emacs.d/elpa/org-20201102/ob-ruby hides /usr/local/share/emacs/27.1.50/lisp/org/ob-ruby
/home/joost/.emacs.d/elpa/org-20201102/ob-ref hides /usr/local/share/emacs/27.1.50/lisp/org/ob-ref
/home/joost/.emacs.d/elpa/org-20201102/org-attach-git hides /usr/local/share/emacs/27.1.50/lisp/org/org-attach-git
/home/joost/.emacs.d/elpa/org-20201102/ob-sqlite hides /usr/local/share/emacs/27.1.50/lisp/org/ob-sqlite
/home/joost/.emacs.d/elpa/org-20201102/ob-ebnf hides /usr/local/share/emacs/27.1.50/lisp/org/ob-ebnf
/home/joost/.emacs.d/elpa/org-20201102/ob-calc hides /usr/local/share/emacs/27.1.50/lisp/org/ob-calc
/home/joost/.emacs.d/elpa/org-20201102/ol-info hides /usr/local/share/emacs/27.1.50/lisp/org/ol-info
/home/joost/.emacs.d/elpa/org-20201102/org-lint hides /usr/local/share/emacs/27.1.50/lisp/org/org-lint
/home/joost/.emacs.d/elpa/org-20201102/ob-shell hides /usr/local/share/emacs/27.1.50/lisp/org/ob-shell
/home/joost/.emacs.d/elpa/org-20201102/ox-odt hides /usr/local/share/emacs/27.1.50/lisp/org/ox-odt
/home/joost/.emacs.d/elpa/org-20201102/ox-ascii hides /usr/local/share/emacs/27.1.50/lisp/org/ox-ascii
/home/joost/.emacs.d/elpa/org-20201102/ox-html hides /usr/local/share/emacs/27.1.50/lisp/org/ox-html
/home/joost/.emacs.d/elpa/org-20201102/ob-sql hides /usr/local/share/emacs/27.1.50/lisp/org/ob-sql
/home/joost/.emacs.d/elpa/org-20201102/ox-man hides /usr/local/share/emacs/27.1.50/lisp/org/ox-man
/home/joost/.emacs.d/elpa/org-20201102/ob-coq hides /usr/local/share/emacs/27.1.50/lisp/org/ob-coq
/home/joost/.emacs.d/elpa/org-20201102/org-agenda hides /usr/local/share/emacs/27.1.50/lisp/org/org-agenda
/home/joost/.emacs.d/elpa/org-20201102/ob-gnuplot hides /usr/local/share/emacs/27.1.50/lisp/org/ob-gnuplot
/home/joost/.emacs.d/elpa/org-20201102/ob-core hides /usr/local/share/emacs/27.1.50/lisp/org/ob-core
/home/joost/.emacs.d/elpa/org-20201102/org-timer hides /usr/local/share/emacs/27.1.50/lisp/org/org-timer
/home/joost/.emacs.d/elpa/org-20201102/org-entities hides /usr/local/share/emacs/27.1.50/lisp/org/org-entities
/home/joost/.emacs.d/elpa/org-20201102/ol-rmail hides /usr/local/share/emacs/27.1.50/lisp/org/ol-rmail
/home/joost/.emacs.d/elpa/org-20201102/org-list hides /usr/local/share/emacs/27.1.50/lisp/org/org-list
/home/joost/.emacs.d/elpa/org-20201102/org-src hides /usr/local/share/emacs/27.1.50/lisp/org/org-src
/home/joost/.emacs.d/elpa/org-20201102/org-faces hides /usr/local/share/emacs/27.1.50/lisp/org/org-faces
/home/joost/.emacs.d/elpa/org-20201102/org-capture hides /usr/local/share/emacs/27.1.50/lisp/org/org-capture
/home/joost/.emacs.d/elpa/org-20201102/ol-gnus hides /usr/local/share/emacs/27.1.50/lisp/org/ol-gnus
/home/joost/.emacs.d/elpa/org-20201102/ol-w3m hides /usr/local/share/emacs/27.1.50/lisp/org/ol-w3m
/home/joost/.emacs.d/elpa/org-20201102/org-macs hides /usr/local/share/emacs/27.1.50/lisp/org/org-macs
/home/joost/.emacs.d/elpa/org-20201102/ob-eval hides /usr/local/share/emacs/27.1.50/lisp/org/ob-eval
/home/joost/.emacs.d/elpa/org-20201102/org-num hides /usr/local/share/emacs/27.1.50/lisp/org/org-num
/home/joost/.emacs.d/elpa/org-20201102/ob-C hides /usr/local/share/emacs/27.1.50/lisp/org/ob-C
/home/joost/.emacs.d/elpa/org-20201102/ob-perl hides /usr/local/share/emacs/27.1.50/lisp/org/ob-perl
/home/joost/.emacs.d/elpa/org-20201102/org-footnote hides /usr/local/share/emacs/27.1.50/lisp/org/org-footnote
/home/joost/.emacs.d/elpa/org-20201102/ob-comint hides /usr/local/share/emacs/27.1.50/lisp/org/ob-comint
/home/joost/.emacs.d/elpa/org-20201102/ob-python hides /usr/local/share/emacs/27.1.50/lisp/org/ob-python
/home/joost/.emacs.d/elpa/org-20201102/ox-latex hides /usr/local/share/emacs/27.1.50/lisp/org/ox-latex
/home/joost/.emacs.d/elpa/org-20201102/ob-makefile hides /usr/local/share/emacs/27.1.50/lisp/org/ob-makefile
/home/joost/.emacs.d/elpa/org-20201102/org-id hides /usr/local/share/emacs/27.1.50/lisp/org/org-id
/home/joost/.emacs.d/elpa/org-20201102/org-version hides /usr/local/share/emacs/27.1.50/lisp/org/org-version
/home/joost/.emacs.d/elpa/org-20201102/org-goto hides /usr/local/share/emacs/27.1.50/lisp/org/org-goto
/home/joost/.emacs.d/elpa/org-20201102/org-pcomplete hides /usr/local/share/emacs/27.1.50/lisp/org/org-pcomplete
/home/joost/.emacs.d/elpa/org-20201102/ob-fortran hides /usr/local/share/emacs/27.1.50/lisp/org/ob-fortran

Features:
(shadow emacsbug mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors
multiple-cursors-core rect ffap timezone shr-color mm-archive pandoc-mode
pandoc-mode-utils warnings expand-region text-mode-expansions
the-org-mode-expansions clojure-mode-expansions er-basic-expansions
expand-region-core expand-region-custom cl-print org-autolist org-indent ol-eww
eww mm-url url-queue ol-rmail ol-mhe ol-irc ol-info ol-gnus nnir ol-docview
ol-bibtex ol-bbdb ol-w3m org-ebib ebib-settings ebib ebib-reading-list
ebib-notes ebib-filters ebib-keywords ebib-utils ebib-db parsebib crm el-spice
list-callers display-fill-column-indicator flycheck-indicator vc-git bookmark
help-fns radix-tree footnote gnutls epa-file mailalias qp visual-fill-column
sort smiley gnus-cite mail-extr gnus-art mm-uu mml2015 mm-view mml-smime smime
dig gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail
mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader
display-line-numbers org-mu4e mu4e-settings gnus-dired mu4e mu4e-org mu4e-main
mu4e-view mu4e-headers mu4e-compose mu4e-context mu4e-draft mu4e-actions ido
rfc2368 smtpmail sendmail mu4e-mark mu4e-proc mu4e-utils doc-view jka-compr
image-mode exif mu4e-lists mu4e-message shr svg dom flow-fill mule-util hl-line
mu4e-vars message rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail
rmail-loaddefs text-property-search mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev gmm-utils
mailheader mu4e-meta mixed-pitch org-roam org-roam-link org-roam-graph
org-roam-doctor org-roam-db emacsql-sqlite3 emacsql emacsql-compiler
org-roam-dailies org-roam-capture org-capture org-roam-completion
org-roam-buffer org-roam-faces org-roam-macs org-roam-compat jk-input-methods
quail em-unix em-term term disp-table ehelp em-script em-prompt em-ls em-hist
em-pred em-glob em-dirs esh-var em-cmpl em-basic em-banner em-alias esh-mode
company-box company-box-doc frame-local company-box-icons wgrep flycheck-ledger
ielm pp minions doom-modeline doom-modeline-segments doom-modeline-env
doom-modeline-core shrink-path which-key undo-tree diff atomic-chrome websocket
let-alist iimage image+ image-file swiper ivy-hydra all-the-icons-ivy ivy
ivy-faces ivy-overlay colir poetry pyvenv paredit flycheck-clj-kondo sesman
clojure-mode lisp-mnt align eldoc-box company-lsp lsp-ui lsp-ui-flycheck
lsp-ui-doc goto-addr lsp-ui-imenu lsp-ui-peek lsp-ui-sideline face-remap
flycheck-posframe flycheck lsp-mode yasnippet network-stream puny nsm rmc
markdown-mode inline imenu f dash-functional bindat lsp-protocol ht ag vc-svn
find-dired s projectile grep compile ibuf-ext ibuffer ibuffer-loaddefs thingatpt
diff-hl vc-dir ewoc vc vc-dispatcher diff-mode transient async-bytecomp async
aggressive-indent elec-pair nswbuff guess-language flyspell ispell ace-window
avy dired dired-loaddefs reftex reftex-loaddefs reftex-vars tab-jump-out
org-gcal persist org-id org-refile org-element avl-tree org-archive org-settings
org-clock 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 noutline outline
org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys org-compat
org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs request-deferred
deferred request autorevert filenotify mail-utils url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util mailcap alert
log4e rx gntp tramp tramp-loaddefs trampver tramp-integration files-x
tramp-compat shell pcomplete comint ansi-color parse-time iso8601 time-date
ls-lisp format-spec bibtex adaptive-wrap volatile-highlights posframe bm
company-quickhelp pos-tip all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons data-alltheicons
memoize company-oddmuse company-keywords company-etags etags fileloop generator
xref project company-gtags company-dabbrev-code company-dabbrev company-files
company-capf company-cmake company-clang company-semantic company-template
company-css company-bbdb company pcase solarized-light-theme solarized-theme
solarized solarized-faces color recentf tree-widget paradox paradox-menu
paradox-commit-list hydra ring lv cus-edit cus-start cus-load wid-edit
paradox-execute paradox-github paradox-core spinner dash cl-extra help-mode
jk-functions advice eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg
esh-module esh-groups esh-util notifications dbus xml edmacro kmacro server
delsel paren use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core
finder-inf tex-site realgud-recursive-autoloads info 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 mwheel term/x-win x-win term/common-win x-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode
elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch timer select scroll-bar 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 dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 868802 161756)
 (symbols 48 58233 10)
 (strings 32 258439 37394)
 (string-bytes 1 7525680)
 (vectors 16 96615)
 (vector-slots 8 1847488 191592)
 (floats 8 1296 1409)
 (intervals 56 18353 7285)
 (buffers 1000 53))

-- 
Joost Kremers
Life has its moments




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#44483; Package emacs. (Fri, 06 Nov 2020 14:42:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Joost Kremers <joostkremers <at> fastmail.fm>
Cc: 44483 <at> debbugs.gnu.org
Subject: Re: bug#44483: 27.1.50;
 Window parameter `min-margins' doesn't split window in half
Date: Fri, 06 Nov 2020 16:41:05 +0200
> From: Joost Kremers <joostkremers <at> fastmail.fm>
> Date: Fri, 06 Nov 2020 15:09:36 +0100
> 
> 
> 1. Open any text file, preferably with long lines (to better see the effect).
> 
> 2. `M-x visual-line-mode RET`
> 
> 3. `M-: (set-window-margins (selected-window) 0 150) RET`
> 
> The number 150 is arbitrary. It's appropriate for my case (with a frame width of
> about 238 characters).
> 
> 4. `M-: (set-window-parameter (selected-window) 'min-margins '(0 . 0)) RET`
> 
> 5. `C-x 3`
> 
> At this point, I expect the window to be split into two equally-sized
> side-by-side windows, but the split is at about one third of the original window
> width.

That expectation is incorrect by default.  To have the windows
equally-sized, you need to set window-combination-resize to t, AFAIU,
otherwise Emacs makes no promise that your expectation will be heeded.

> Note that in this recipe, the margins of the two windows aren't adjusted after
> the split, so in the left window the text is not visible at all and in the right
> window, the text area is two characters wide. (In my case, YMMV.)

You expected Emacs to adjust the margins?  The min-margins parameters
is consulted only when determining whether the window can be split, it
has no effect whatsoever on the window dimensions after the split.
And the manual specifically says that it is up to the application to
adjust the margins after the split.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#44483; Package emacs. (Fri, 06 Nov 2020 16:26:02 GMT) Full text and rfc822 format available.

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

From: Joost Kremers <joostkremers <at> fastmail.fm>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 44483 <at> debbugs.gnu.org
Subject: Re: bug#44483: 27.1.50; Window parameter `min-margins' doesn't
 split window in half
Date: Fri, 06 Nov 2020 17:25:07 +0100
On Fri, Nov 06 2020, Eli Zaretskii wrote:
>> From: Joost Kremers <joostkremers <at> fastmail.fm>
>> Date: Fri, 06 Nov 2020 15:09:36 +0100
>> 
>> 
>> 1. Open any text file, preferably with long lines (to better see the effect).
>> 
>> 2. `M-x visual-line-mode RET`
>> 
>> 3. `M-: (set-window-margins (selected-window) 0 150) RET`
>> 
>> The number 150 is arbitrary. It's appropriate for my case (with a frame width of
>> about 238 characters).
>> 
>> 4. `M-: (set-window-parameter (selected-window) 'min-margins '(0 . 0)) RET`
>> 
>> 5. `C-x 3`
>> 
>> At this point, I expect the window to be split into two equally-sized
>> side-by-side windows, but the split is at about one third of the original window
>> width.
>
> That expectation is incorrect by default.

Well, let me put it this way: If I split a window in which the margins are nil,
`split-window-right`, in my experience, always splits the window in half.
(Perhaps there are cases where that is not guaranteed, I don't know, but I've
never seen any.) 

My (perhaps naive) expectation was that with `min-margins' set to (0 . 0),
`split-window' essentially treats this window as if the margins are nil, so I
expected to get a 50/50 split.

>   To have the windows
> equally-sized, you need to set window-combination-resize to t, AFAIU,
> otherwise Emacs makes no promise that your expectation will be heeded.

A quick check suggests that `window-combination-resize' has no effect here. I
still get the 1/3 - 2/3 split at least some of the time. (Mind you, I'm
splitting a window that's the single window in its frame, so AFAIU there is no
window combination to speak of, and `window-combination-resize' should have no
visible effect, from what I can tell from its documentation.)

>> Note that in this recipe, the margins of the two windows aren't adjusted after
>> the split, so in the left window the text is not visible at all and in the right
>> window, the text area is two characters wide. (In my case, YMMV.)
>
> You expected Emacs to adjust the margins?

No, I don't. `visual-fill-column-mode' makes sure the margins are resized after
the split. That works as it should. I just mentioned it here because that part
of `visual-fill-column-mode' isn't replicated by the recipe. But that's not
relevant here, so just ignore it.

>  The min-margins parameters
> is consulted only when determining whether the window can be split, it
> has no effect whatsoever on the window dimensions after the split.

Yeah, but that's exactly what I'm stumbling over. I've never seen such a 1/3-2/3
split, but now I'm suddenly getting it. So something is causing split-window to
treat a window with wide margins and `min-margins' set to (0 . 0) differently
from a window with no margins (but otherwise equally sized in an equally sized
frame).

Whether that something is a bug or not, I can't say. If it's not, though, I'd
really like to know if there's a workaround.



-- 
Joost Kremers
Life has its moments




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#44483; Package emacs. (Fri, 06 Nov 2020 18:14:01 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Joost Kremers <joostkremers <at> fastmail.fm>, 44483 <at> debbugs.gnu.org
Subject: Re: bug#44483: 27.1.50; Window parameter `min-margins' doesn't split
 window in half
Date: Fri, 6 Nov 2020 19:12:51 +0100
[Message part 1 (text/plain, inline)]
> 1. Open any text file, preferably with long lines (to better see the effect).
>
> 2. `M-x visual-line-mode RET`
>
> 3. `M-: (set-window-margins (selected-window) 0 150) RET`
>
> The number 150 is arbitrary. It's appropriate for my case (with a frame width of
> about 238 characters).
>
> 4. `M-: (set-window-parameter (selected-window) 'min-margins '(0 . 0)) RET`
>
> 5. `C-x 3`
>
> At this point, I expect the window to be split into two equally-sized
> side-by-side windows, but the split is at about one third of the original window
> width.

The problem is that when we split the original window, the new window
does not get its 'min-margins' parameter set and the subsequent
sanitizing step screws up things.  Please try the attached patch.

And please look also into what happens when you shrink a frame with such
large margins to a size that won't accommodate those margins any more
unless they get shrunk.  I'm afraid that the subsequent sanitizing step
might cause troubles there as well.

Thanks, martin
[joost.diff (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#44483; Package emacs. (Fri, 06 Nov 2020 18:30:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Joost Kremers <joostkremers <at> fastmail.fm>
Cc: 44483 <at> debbugs.gnu.org
Subject: Re: bug#44483: 27.1.50; Window parameter `min-margins' doesn't
 split window in half
Date: Fri, 06 Nov 2020 20:29:33 +0200
> From: Joost Kremers <joostkremers <at> fastmail.fm>
> Cc: 44483 <at> debbugs.gnu.org
> Date: Fri, 06 Nov 2020 17:25:07 +0100
> 
> > That expectation is incorrect by default.
> 
> Well, let me put it this way: If I split a window in which the margins are nil,
> `split-window-right`, in my experience, always splits the window in half.
> (Perhaps there are cases where that is not guaranteed, I don't know, but I've
> never seen any.) 

The equal sizes are not guaranteed, but that doesn't mean they will
never happen.  Especially when you put Emacs in an "impossible"
situation, where a simple split will not work.

> >   To have the windows
> > equally-sized, you need to set window-combination-resize to t, AFAIU,
> > otherwise Emacs makes no promise that your expectation will be heeded.
> 
> A quick check suggests that `window-combination-resize' has no effect here. I
> still get the 1/3 - 2/3 split at least some of the time.

<Shrug> It did work for me, so I'm unsure what's going on.  Though I
couldn't have a window with 283 columns to begin with, so maybe it
depends on the actual sizes.

> (Mind you, I'm
> splitting a window that's the single window in its frame

So did I.

> so AFAIU there is no window combination to speak of, and
> `window-combination-resize' should have no visible effect, from what
> I can tell from its documentation.)

I think you take the name of the variable too literally.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#44483; Package emacs. (Fri, 06 Nov 2020 20:37:01 GMT) Full text and rfc822 format available.

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

From: Joost Kremers <joostkremers <at> fastmail.fm>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 44483 <at> debbugs.gnu.org
Subject: Re: bug#44483: 27.1.50; Window parameter `min-margins' doesn't
 split window in half
Date: Fri, 06 Nov 2020 21:36:41 +0100
On Fri, Nov 06 2020, martin rudalics wrote:
> The problem is that when we split the original window, the new window
> does not get its 'min-margins' parameter set and the subsequent
> sanitizing step screws up things.  Please try the attached patch.

Yes, the patch appears to work. After applying it, splitting a window gives me a
50/50 split. (I tried several times.)

> And please look also into what happens when you shrink a frame with such
> large margins to a size that won't accommodate those margins any more
> unless they get shrunk.  I'm afraid that the subsequent sanitizing step
> might cause troubles there as well.

I'm not seeing anything unexpected here, but I'm not sure what I should be
looking at.

-- 
Joost Kremers
Life has its moments




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#44483; Package emacs. (Sat, 07 Nov 2020 09:01:02 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Joost Kremers <joostkremers <at> fastmail.fm>
Cc: 44483 <at> debbugs.gnu.org
Subject: Re: bug#44483: 27.1.50; Window parameter `min-margins' doesn't split
 window in half
Date: Sat, 7 Nov 2020 10:00:11 +0100
>> The problem is that when we split the original window, the new window
>> does not get its 'min-margins' parameter set and the subsequent
>> sanitizing step screws up things.  Please try the attached patch.
>
> Yes, the patch appears to work. After applying it, splitting a window gives me a
> 50/50 split. (I tried several times.)

I installed a slightly different fix on the Emacs 27 branch now.  We
really should have had tested 'min-margins' when Emacs 25 came out but
IIRC you bowed out in the last minute back then and apparently now you
have become their first client.  Since the bug shows up only when SIZE
is unspecified, the recipe I used might not have triggered it then.

In Emacs 28 I intend to remove sanity checks entirely and always
auto-shrink margins when they don't fit into a window any more.  Windows
will also have a configurable minimum body width so the behavior seen
now where the entire buffer text disappears can be easily avoided.

>> And please look also into what happens when you shrink a frame with such
>> large margins to a size that won't accommodate those margins any more
>> unless they get shrunk.  I'm afraid that the subsequent sanitizing step
>> might cause troubles there as well.
>
> I'm not seeing anything unexpected here, but I'm not sure what I should be
> looking at.

In an earlier posting you said that "Twice during my tests Emacs
actually hung, driving one of the CPU cores to 100%."  I thought of
something similar happening when shrinking a frame.

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#44483; Package emacs. (Sun, 08 Nov 2020 15:01:02 GMT) Full text and rfc822 format available.

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

From: Joost Kremers <joostkremers <at> fastmail.fm>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 44483 <at> debbugs.gnu.org
Subject: Re: bug#44483: 27.1.50; Window parameter `min-margins' doesn't
 split window in half
Date: Sun, 08 Nov 2020 16:00:03 +0100
On Sat, Nov 07 2020, martin rudalics wrote:
> I installed a slightly different fix on the Emacs 27 branch now.  We
> really should have had tested 'min-margins' when Emacs 25 came out but
> IIRC you bowed out in the last minute back then and apparently now you
> have become their first client.  Since the bug shows up only when SIZE
> is unspecified, the recipe I used might not have triggered it then.

AFAIR, the first time I heard about the `min-margins' parameter was when I
looked at the release notes of Emacs 25 after it came out. I don't remember why
I didn't try it out immediately, but after that, I probably forgot about it,
until a bug report I got a week ago.

Paul Rankin did add `min-margins' to his `olivetti' package, but he didn't
remove the pre-25 workaround that uses the `split-window' window parameter, so
the problem probably never showed up.

> In Emacs 28 I intend to remove sanity checks entirely and always
> auto-shrink margins when they don't fit into a window any more.  Windows
> will also have a configurable minimum body width so the behavior seen
> now where the entire buffer text disappears can be easily avoided.

OK, so yet another way of doing things. :-) Sounds like it would make my life a
little easier, though.

Feel free to let me know when you implement it. I don't normally follow
development that closely, but in this case I'd be interested to test the new way
of doing things before the official release.



-- 
Joost Kremers
Life has its moments




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#44483; Package emacs. (Mon, 09 Nov 2020 08:32:02 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Joost Kremers <joostkremers <at> fastmail.fm>
Cc: 44483 <at> debbugs.gnu.org
Subject: Re: bug#44483: 27.1.50; Window parameter `min-margins' doesn't split
 window in half
Date: Mon, 9 Nov 2020 09:31:20 +0100
> AFAIR, the first time I heard about the `min-margins' parameter was when I
> looked at the release notes of Emacs 25 after it came out. I don't remember why
> I didn't try it out immediately, but after that, I probably forgot about it,
> until a bug report I got a week ago.
>
> Paul Rankin did add `min-margins' to his `olivetti' package, but he didn't
> remove the pre-25 workaround that uses the `split-window' window parameter, so
> the problem probably never showed up.

You're right.  It was Paul, who said that he didn't need 'min-margins'
and never reported whether they worked at all.  Sorry for the confusion
but I lost my recordings of past conversations.

>> In Emacs 28 I intend to remove sanity checks entirely and always
>> auto-shrink margins when they don't fit into a window any more.  Windows
>> will also have a configurable minimum body width so the behavior seen
>> now where the entire buffer text disappears can be easily avoided.
>
> OK, so yet another way of doing things. :-) Sounds like it would make my life a
> little easier, though.

It's pretty hard to accommodate all expectations here.  Consider a user
who wants line numbers to remain visible even if everything else has
disappeared after a window has shrunk: With line numbers displayed in
margins, margins should prevail.  With display-line-numbers, buffer text
should prevail.  A minimum body width will help users to make that
decision.  Yet users still have to interfere "manually" in order to
communicate their intentions to Emacs.

> Feel free to let me know when you implement it. I don't normally follow
> development that closely, but in this case I'd be interested to test the new way
> of doing things before the official release.

I'll send you a patch as soon as I consider it stable enough.

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#44483; Package emacs. (Mon, 11 Oct 2021 12:36:02 GMT) Full text and rfc822 format available.

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

From: Stefan Kangas <stefan <at> marxist.se>
To: martin rudalics <rudalics <at> gmx.at>
Cc: Joost Kremers <joostkremers <at> fastmail.fm>, 44483 <at> debbugs.gnu.org
Subject: Re: bug#44483: 27.1.50; Window parameter `min-margins' doesn't split
 window in half
Date: Mon, 11 Oct 2021 05:35:37 -0700
martin rudalics <rudalics <at> gmx.at> writes:

>> AFAIR, the first time I heard about the `min-margins' parameter was when I
>> looked at the release notes of Emacs 25 after it came out. I don't remember why
>> I didn't try it out immediately, but after that, I probably forgot about it,
>> until a bug report I got a week ago.
>>
>> Paul Rankin did add `min-margins' to his `olivetti' package, but he didn't
>> remove the pre-25 workaround that uses the `split-window' window parameter, so
>> the problem probably never showed up.
>
> You're right.  It was Paul, who said that he didn't need 'min-margins'
> and never reported whether they worked at all.  Sorry for the confusion
> but I lost my recordings of past conversations.
>
>>> In Emacs 28 I intend to remove sanity checks entirely and always
>>> auto-shrink margins when they don't fit into a window any more.  Windows
>>> will also have a configurable minimum body width so the behavior seen
>>> now where the entire buffer text disappears can be easily avoided.
>>
>> OK, so yet another way of doing things. :-) Sounds like it would make my life a
>> little easier, though.
>
> It's pretty hard to accommodate all expectations here.  Consider a user
> who wants line numbers to remain visible even if everything else has
> disappeared after a window has shrunk: With line numbers displayed in
> margins, margins should prevail.  With display-line-numbers, buffer text
> should prevail.  A minimum body width will help users to make that
> decision.  Yet users still have to interfere "manually" in order to
> communicate their intentions to Emacs.
>
>> Feel free to let me know when you implement it. I don't normally follow
>> development that closely, but in this case I'd be interested to test the new way
>> of doing things before the official release.
>
> I'll send you a patch as soon as I consider it stable enough.

That was in November last year.  Any news here?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#44483; Package emacs. (Mon, 11 Oct 2021 17:20:02 GMT) Full text and rfc822 format available.

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

From: martin rudalics <rudalics <at> gmx.at>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: Joost Kremers <joostkremers <at> fastmail.fm>, 44483 <at> debbugs.gnu.org,
 control <at> debbugs.gnu.org
Subject: Re: bug#44483: 27.1.50; Window parameter `min-margins' doesn't split
 window in half
Date: Mon, 11 Oct 2021 19:18:45 +0200
close 44483 27.2
quit

>> I'll send you a patch as soon as I consider it stable enough.
>
> That was in November last year.  Any news here?

That project was abandoned earlier this year.  The original bug should
have been fixed back then though so I am closing this bug.

martin




bug marked as fixed in version 27.2, send any further explanations to 44483 <at> debbugs.gnu.org and Joost Kremers <joostkremers <at> fastmail.fm> Request was from martin rudalics <rudalics <at> gmx.at> to control <at> debbugs.gnu.org. (Mon, 11 Oct 2021 17:20:02 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. (Tue, 09 Nov 2021 12:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 141 days ago.

Previous Next


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