* bug#28873: 26.0.60; error while restoring frameset
@ 2017-10-17 5:28 Fabrice Popineau
2017-10-17 8:59 ` martin rudalics
0 siblings, 1 reply; 12+ messages in thread
From: Fabrice Popineau @ 2017-10-17 5:28 UTC (permalink / raw)
To: 28873
[-- Attachment #1: Type: text/plain, Size: 9514 bytes --]
I don't have a simple recipe to preoduce the bug but it is simple enough
to understand.
While using the frameset--restore-frame function, it may happen that
the modify-frame-parameters be called with a border-width which
is not the default one for the current emacs. In this case,
x_set_border_width errors because it can't change it.
This happens if you restore a desktop which has been saved in another
environment. I don't think that an error is needed here. At most a
warning would be. Currently, it prevents restoring the desktop for
no real reason.
In GNU Emacs 26.0.60 (build 4, x86_64-pc-linux-gnu, GTK+ Version 3.18.9)
of 2017-10-12 built on LOBSANG
Repository revision: f352d0257ce5ca1d424b55fc179f18b81bd465ab
Windowing system distributor 'Moba/X', version 11.0.11603000
System Description: Ubuntu 16.04.3 LTS
Recent messages:
Created bibtex link.
Created papers link.
uncompressing frameset.el.gz...done
Loading /home/fabrice/.emacs.d/var/secrets.el (source)...done
Turning on magit-auto-revert-mode...done
uncompressing frameset.el.gz...done
Wrote /home/fabrice/.emacs.d/savefile/.emacs.desktop.lock
Desktop: 1 frame, 2 buffers restored.
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark saved where search started
Configured using:
'configure --with-modules --with-x-toolkit=gtk3
--prefix=/usr/local/emacs-26'
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 MODULES LCMS2
Important settings:
value of $LANG: en_US
locale-coding-system: utf-8-unix
Major mode: Emacs-Lisp
Minor modes in effect:
popwin-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
global-anzu-mode: t
anzu-mode: t
desktop-save-mode: t
TeX-PDF-mode: t
winner-mode: t
which-key-mode: t
which-function-mode: t
volatile-highlights-mode: t
save-place-mode: t
savehist-mode: t
recentf-mode: t
global-page-break-lines-mode: t
page-break-lines-mode: t
outline-minor-mode: t
magit-auto-revert-mode: t
global-git-commit-mode: t
async-bytecomp-package-mode: t
flx-ido-mode: t
ido-vertical-mode: t
ido-ubiquitous-mode: t
ido-everywhere: t
global-hl-line-mode: t
diff-auto-refine-mode: t
global-auto-revert-mode: t
shell-dirtrack-mode: t
cua-mode: t
delete-selection-mode: t
override-global-mode: t
cl-old-struct-compat-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
global-prettify-symbols-mode: t
prettify-symbols-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
size-indication-mode: t
column-number-mode: t
line-number-mode: t
global-visual-line-mode: t
visual-line-mode: t
transient-mark-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug sendmail smex misearch multi-isearch
popwin undo-tree diff anzu desktop frameset pcase reftex-cite reftex
reftex-loaddefs reftex-vars pdf-tools pdf-view pdf-cache pdf-info tq
pdf-util ob-shell ob-gnuplot ob-org ob-dot ob-lisp ob-latex ox-ipynb
ox-org ox-md ox-koma-letter ox-beamer ox-reveal ox-bibtex ox-odt
ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox ob-ipython
python tramp-sh f dash-functional ob-python org-wl org-toc org-timer
org-clock org-screen term ehelp org-protocol-capture-html eww mm-url
url-queue shr svg org-protocol org-panel org-mouse org-interactive-query
org-inlinetask org-info org-habit org-expiry org-eval org-drill
org-learn org-id hi-lock org-contacts org-capture org-agenda 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 org-checklist
org-bibtex bibtex org-annotate-file web-mode disp-table tuareg speedbar
sb-image ezimage dframe caml smie caml-help caml-types caml-emacs latex
tex-ispell tex-style tex magic-latex-buffer iimage tex-mode fp-specif
slime-fancy slime-trace-dialog slime-fontifying-fu slime-package-fu
slime-references slime-compiler-notes-tree slime-scratch
slime-presentations bridge slime-macrostep macrostep slime-mdot-fu
slime-enclosing-context slime-fuzzy slime-fancy-trace
slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc
slime-repl elp slime-parse slime lisp-mnt gud apropos arc-mode
archive-mode hyperspec browse-url fp-pseudocode pascal rng-nxml
rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util
rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-enc
xmltok ediprolog yasnippet elec-pair writegood-mode winner windmove
whitespace which-key which-func volatile-highlights sumatra-forward ssh
smartrep smart-mode-line rich-minority saveplace savehist
graphene-meta-theme sanityinc-tomorrow-night-theme request recentf
tree-widget ranger ps-print ps-print-loaddefs ps-def lpr
page-break-lines ov outshine outshine-org-cmds outorg key-chord
org-element avl-tree generator org org-macro org-footnote org-pcomplete
org-list org-faces org-entities org-version ob-emacs-lisp ob ob-tangle
org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval
org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs noutline
outline operate-on-number calc-bin calc-ext calc calc-loaddefs calc-macs
oauth2 warnings plstore move-text midnight memory-usage magithub
magithub-orgs magithub-issue-tricks magithub-issue-post
magithub-issue-status magithub-label magithub-proxy magithub-ci
magithub-pr magithub-issue ghub+ apiwrap magithub-core bug-reference
ghub magit-bookmark magit-obsolete magit-blame magit-stash magit-bisect
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-branch magit-files magit-refs magit-status magit magit-repos
magit-apply magit-wip magit-log magit-diff smerge-mode magit-core
magit-autorevert magit-process magit-margin magit-mode magit-git
magit-section magit-popup git-commit magit-utils crm log-edit message
rfc822 mml mml-sec epa epg gnus-util rmail rmail-loaddefs mm-decode
mm-bodies mm-encode mailabbrev mail-utils gmm-utils mailheader pcvs-util
add-log with-editor async-bytecomp async server lua-mode langtool
js2-mode etags xref project js sgml-mode dom cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
imenu-anywhere imenu flx-ido flx ido-vertical-mode ido-completing-read+
cus-edit wid-edit minibuf-eldef ido htmlize hl-line highlight-symbol
guru-mode grizzl god-mode git-gutter gitignore-mode gitconfig-mode
conf-mode git-timemachine vc-git diff-mode gist gh-gist gh-oauth gh-api
logito gh-cache pcache gh-auth gh-url url-http tls gnutls url url-proxy
url-privacy url-expand url-methods url-history mailcap url-auth
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums url-cookie url-domsuf
url-util url-gw nsm rmc puny timezone eieio-base framemove flyspell
ispell flycheck find-func subr-x epl ediff-merg ediff-wind ediff-diff
ediff-mult ediff-help ediff-init ediff-util ediff easy-kill thingatpt
doc-view jka-compr discover-my-major makey dired+ image-dired image-mode
image-file dired-x dired-aux dictionary link connection browse-kill-ring
derived bookmark pp autorevert filenotify auto-complete popup
all-the-icons-dired all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons memoize font-lock+ ag vc-svn compile find-dired dired
dired-loaddefs cl-extra help-mode sanityinc-tomorrow-day-theme
color-theme-sanityinc-tomorrow color tramp tramp-compat tramp-loaddefs
trampver ucs-normalize shell pcomplete comint ansi-color ring parse-time
format-spec advice cus-start cus-load cl edmacro kmacro cua-base delsel
mm-util mail-prsvr use-package diminish bind-key easy-mmode finder-inf
tex-site gh-common gh-profile rx s marshal eieio-compat ht json map dash
info package easymenu epg-config url-handlers url-parse auth-source
cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache url-vars
seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib dbus xml
time-date mule-util 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 menu-bar
rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core term/tty-colors frame cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)
Memory information:
((conses 16 1152249 302577)
(symbols 48 85599 2)
(miscs 40 239 402)
(strings 32 254766 63108)
(string-bytes 1 7767435)
(vectors 16 149837)
(vector-slots 8 2900845 273253)
(floats 8 1256 845)
(intervals 56 891 573)
(buffers 992 14)
(heap 1024 117588 20149))
[-- Attachment #2: Type: text/html, Size: 11865 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#28873: 26.0.60; error while restoring frameset
2017-10-17 5:28 bug#28873: 26.0.60; error while restoring frameset Fabrice Popineau
@ 2017-10-17 8:59 ` martin rudalics
2017-10-17 17:49 ` Fabrice Popineau
0 siblings, 1 reply; 12+ messages in thread
From: martin rudalics @ 2017-10-17 8:59 UTC (permalink / raw)
To: Fabrice Popineau, 28873
> While using the frameset--restore-frame function, it may happen that
> the modify-frame-parameters be called with a border-width which
> is not the default one for the current emacs. In this case,
> x_set_border_width errors because it can't change it.
'border-width' is in ‘frameset--initial-params’ and should be filtered
appropriately. Can you provide a backtrace with a breakpoint in
if (FRAME_X_WINDOW (f) != 0)
error ("Cannot change the border width of a frame");
martin
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#28873: 26.0.60; error while restoring frameset
2017-10-17 8:59 ` martin rudalics
@ 2017-10-17 17:49 ` Fabrice Popineau
2017-10-17 18:24 ` martin rudalics
0 siblings, 1 reply; 12+ messages in thread
From: Fabrice Popineau @ 2017-10-17 17:49 UTC (permalink / raw)
To: martin rudalics; +Cc: 28873
[-- Attachment #1: Type: text/plain, Size: 3590 bytes --]
I have a simple way to reproduce the problem.
On emacs-ubuntu, run:
emacs -Q -l foo-frameset.el
The foo-frameset.el is:
(require 'frameset)
(frameset-restore [frameset 1 (23014 15441 157710 0) (desktop . "208")
"Fabrice@LOBSANG" nil nil ((((minibuffer . t) (undecorated) (skip-taskbar)
(font-backend uniscribe gdi) (font .
"-outline-Consolas-normal-normal-normal-mono-22-*-*-*-c-*-iso8859-1")
(border-width . 2) (internal-border-width . 0) (right-divider-width . 0)
(bottom-divider-width . 0) (vertical-scroll-bars) (horizontal-scroll-bars)
(foreground-color . "#c5c8c6") (background-color . "#1d1f21") (mouse-color
. "black") (border-color . "#373b41") (screen-gamma) (line-spacing)
(left-fringe . 8) (right-fringe . 0) (no-focus-on-map) (no-accept-focus)
(no-special-glyphs) (alpha) (menu-bar-lines . 1) (tool-bar-lines . 0)
(height . 64) (title) (icon-type) (auto-raise) (auto-lower) (cursor-type .
box) (scroll-bar-width . 0) (scroll-bar-height . 0) (fullscreen .
maximized) (z-group) (visibility . t) (display-type . color)
(background-mode . dark) (cursor-color . "#cc6666") (environment)
(frameset--id . "123B-E56F-57D3-CB68") (frameset--mini t . t) (modeline .
t) (unsplittable) (icon-name) (display . "w32") (explicit-name)
(tool-bar-position . top) (width . 266) (left + -11) (top + -11))
((min-height . 8) (min-width . 10) (min-height-ignore . 6)
(min-width-ignore . 3) (min-height-safe . 2) (min-width-safe . 2)
(min-pixel-height . 208) (min-pixel-width . 120) (min-pixel-height-ignore .
156) (min-pixel-width-ignore . 36) (min-pixel-height-safe . 52)
(min-pixel-width-safe . 24)) vc (pixel-width . 3200) (pixel-height . 1650)
(total-width . 267) (total-height . 63) (normal-height . 1.0) (normal-width
. 1.0) (combination-limit) (leaf (pixel-width . 3200) (pixel-height . 826)
(total-width . 267) (total-height . 32) (normal-height . 0.5) (normal-width
. 1.0) (buffer "THCS.org" (selected . t) (hscroll . 0) (fringes 8 0 nil)
(margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll . 0) (dedicated)
(point . 601641) (start . 596566))) (leaf (last . t) (pixel-width . 3200)
(pixel-height . 824) (total-width . 267) (total-height . 31) (normal-height
. 0.5) (normal-width . 1.0) (buffer "*Compile-Log*" (selected) (hscroll .
0) (fringes 8 0 nil) (margins nil) (scroll-bars nil 0 t nil 0 t) (vscroll .
0) (dedicated) (point . 66) (start . 1)))))] :reuse-frames t
:cleanup-frames t :force-display t :force-onscreen t)
giving:
Error (frameset): Cannot change the border width of a frame
The frameset
I have not tried to reduce the frameset whatsoever.
My point is that the frameset is not compatible between my emacs-w64
session and my emacs-ubuntu session
because (at least) of the border-width which errors.
I was expecting to be able to run emacs independently on Windows and
GNU/Linux and being able to share
all of my setup. I get this error when the desktop package is restoring the
session.
Regards,
Fabrice
2017-10-17 10:59 GMT+02:00 martin rudalics <rudalics@gmx.at>:
> > While using the frameset--restore-frame function, it may happen that
> > the modify-frame-parameters be called with a border-width which
> > is not the default one for the current emacs. In this case,
> > x_set_border_width errors because it can't change it.
>
> 'border-width' is in ‘frameset--initial-params’ and should be filtered
> appropriately. Can you provide a backtrace with a breakpoint in
>
> if (FRAME_X_WINDOW (f) != 0)
> error ("Cannot change the border width of a frame");
>
> martin
>
>
[-- Attachment #2: Type: text/html, Size: 4323 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#28873: 26.0.60; error while restoring frameset
2017-10-17 17:49 ` Fabrice Popineau
@ 2017-10-17 18:24 ` martin rudalics
2017-10-18 5:03 ` Fabrice Popineau
0 siblings, 1 reply; 12+ messages in thread
From: martin rudalics @ 2017-10-17 18:24 UTC (permalink / raw)
To: Fabrice Popineau; +Cc: 28873
> My point is that the frameset is not compatible between my emacs-w64
> session and my emacs-ubuntu session
> because (at least) of the border-width which errors.
> I was expecting to be able to run emacs independently on Windows and
> GNU/Linux and being able to share
> all of my setup. I get this error when the desktop package is restoring the
> session.
You earlier said that "it may happen that the modify-frame-parameters be
called with a border-width which is not the default one for the current
emacs. In this case, x_set_border_width errors because it can't change
it". ‘frameset-restore’ should process a ‘border-width’ parameter only
when _creating_ a frame. Note this remark in frameset.el:
;; - can be set at creation time, and setting them afterwards will fail with
;; an error, *unless* you set it to the same value, a noop (`border-width')
So I would need a Lisp backtrace from x_set_border_width to find out how
comes that ‘frameset-restore’ calls ‘modify-frame-parameters’ here.
Thanks, martin
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#28873: 26.0.60; error while restoring frameset
2017-10-17 18:24 ` martin rudalics
@ 2017-10-18 5:03 ` Fabrice Popineau
2017-10-18 8:12 ` martin rudalics
0 siblings, 1 reply; 12+ messages in thread
From: Fabrice Popineau @ 2017-10-18 5:03 UTC (permalink / raw)
To: martin rudalics; +Cc: 28873
[-- Attachment #1: Type: text/plain, Size: 1949 bytes --]
2017-10-17 20:24 GMT+02:00 martin rudalics <rudalics@gmx.at>:
> > My point is that the frameset is not compatible between my emacs-w64
> > session and my emacs-ubuntu session
> > because (at least) of the border-width which errors.
> > I was expecting to be able to run emacs independently on Windows and
> > GNU/Linux and being able to share
> > all of my setup. I get this error when the desktop package is restoring
> the
> > session.
>
> You earlier said that "it may happen that the modify-frame-parameters be
> called with a border-width which is not the default one for the current
> emacs. In this case, x_set_border_width errors because it can't change
> it". ‘frameset-restore’ should process a ‘border-width’ parameter only
> when _creating_ a frame. Note this remark in frameset.el:
>
> ;; - can be set at creation time, and setting them afterwards will fail
> with
> ;; an error, *unless* you set it to the same value, a noop
> (`border-width')
>
> So I would need a Lisp backtrace from x_set_border_width to find out how
> comes that ‘frameset-restore’ calls ‘modify-frame-parameters’ here.
>
Not sure if the following will shed some light:
(gdb) xbacktrace
"modify-frame-parameters" (0xbfaea0)
"let*" (0xbfb100)
"frameset--restore-frame" (0xbfb290)
"setq" (0xbfb5b0)
"if" (0xbfb790)
"let*" (0xbfb9a0)
"condition-case" (0xbfbc30)
"progn" (0xbfbdc0)
"if" (0xbfbf60)
"let" (0xbfc1d0)
"let*" (0xbfc3e0)
"let" (0xbfc650)
"while" (0xbfc860)
"let" (0xbfcad0)
"let*" (0xbfcce0)
"progn" (0xbfce70)
"progn" (0xbfd000)
"let*" (0xbfd210)
"frameset-restore" (0xbfd3a0)
"eval-buffer" (0xbfda50)
"funcall-interactively" (0xbfda48)
"call-interactively" (0xbfddd0)
"command-execute" (0xbfe358)
"execute-extended-command" (0xbfea90)
"funcall-interactively" (0xbfea88)
"call-interactively" (0xbfeed0)
"command-execute" (0xbff428)
Fabrice
>
> Thanks, martin
>
>
[-- Attachment #2: Type: text/html, Size: 3141 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2017-10-19 7:55 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-17 5:28 bug#28873: 26.0.60; error while restoring frameset Fabrice Popineau
2017-10-17 8:59 ` martin rudalics
2017-10-17 17:49 ` Fabrice Popineau
2017-10-17 18:24 ` martin rudalics
2017-10-18 5:03 ` Fabrice Popineau
2017-10-18 8:12 ` martin rudalics
2017-10-18 13:33 ` Fabrice Popineau
2017-10-18 17:45 ` martin rudalics
2017-10-18 18:13 ` Fabrice Popineau
2017-10-18 18:34 ` martin rudalics
2017-10-18 19:21 ` Fabrice Popineau
2017-10-19 7:55 ` martin rudalics
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).