From unknown Sun Aug 10 09:46:03 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#78705 <78705@debbugs.gnu.org> To: bug#78705 <78705@debbugs.gnu.org> Subject: Status: 31.0.50; [PATCH] DocView: Opening ODF file fails when it has more than one file extension, or when using unoconv Reply-To: bug#78705 <78705@debbugs.gnu.org> Date: Sun, 10 Aug 2025 16:46:03 +0000 retitle 78705 31.0.50; [PATCH] DocView: Opening ODF file fails when it has = more than one file extension, or when using unoconv reassign 78705 emacs submitter 78705 Daniel Lopez severity 78705 normal tag 78705 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 06 00:14:11 2025 Received: (at submit) by debbugs.gnu.org; 6 Jun 2025 04:14:11 +0000 Received: from localhost ([127.0.0.1]:40597 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uNOT3-0002q3-Uf for submit@debbugs.gnu.org; Fri, 06 Jun 2025 00:14:11 -0400 Received: from lists.gnu.org ([2001:470:142::17]:39520) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uNOSz-0002pG-Te for submit@debbugs.gnu.org; Fri, 06 Jun 2025 00:14:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uNOSr-0006GH-7B for bug-gnu-emacs@gnu.org; Fri, 06 Jun 2025 00:13:57 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uNOSn-000844-Dl for bug-gnu-emacs@gnu.org; Fri, 06 Jun 2025 00:13:56 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a3758b122cso1048199f8f.1 for ; Thu, 05 Jun 2025 21:13:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749183230; x=1749788030; darn=gnu.org; h=to:subject:content-language:from:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=8o43Eb72MNu0aXFHV0kRQD3LwcFc1+0Pguzc9N7T5So=; b=k5SWySH242Ba0BBtSLXbD2s0020G4XDhsNnu8tJl6fJBF/Zw3Y1nmC2RPDu1RwSzBd Out/pyXYBRPC7k8vY964fslAtGi+3rpkFLSZGi3NCfdYhMdr7Rendya2AmajYT87wzRh XTVfjplmunatmpZGqe2Yj67TwNLab3vJ4wiFDOMPOjyWIM9olAmRKvnl6D0DB86JHPfM xGsIFLYHMIDmWy74ISM81rXGOjKW+CBfVFbYVuME885b66UDS5WF9bnm7nW22SBF15je jlkQxrL1r0Nwc50mJGUt7Zkb1aKi8LNaUE4SZoEyfrvMIdNJAYi3xeeWj+dqUleQgHgD G4xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749183230; x=1749788030; h=to:subject:content-language:from:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=8o43Eb72MNu0aXFHV0kRQD3LwcFc1+0Pguzc9N7T5So=; b=ps635ztzw+hD3zf2SZHMbKKspmxbi4VvHFMvl8zj6F+aXK/3Nm54GxAnFp/SbXr6Ht ksdA8B/KxVw3HzKo3C8PbRPBZimiHTrIScjjeaUNPj+0xwnCHvLaouJMLw8WLPGJ7KhZ +TqZroWzmCDedjs0Wy5RD5zqxbB513tTC47IY6lB1FAmkROuD9hBjFVc2NWZBk3p8FTQ 7ayCpk4Gwjh59zKB3eoR737xaRsom0QRxEzoGBV7BNTiJF8hHyF/UV42/9uOITfANCrq 4X3OBIZrvATriYkMQyZPuUcbXqMiFSPC65eVPpbne7bc/3A8n4Y3Zwd0p8/fwkhJeVja hbiw== X-Gm-Message-State: AOJu0YxQFOpt2OXmnXK4IE4n/6/CMMkvWWubAByLB1NNFbANPl2ygJnI s4XwSWP51WBYUeFOfo2lXihGBkkrl0JnvVv4c27uzi947vyoV0I7/YGDadU+S4TI X-Gm-Gg: ASbGnct1ycxCKEr4K9mRl1mSJJQ/tKnCZ3VemAqK1ZnvFI5H0eGiTKTRMQ1NckBxwZt w+l9KcQUglHiia2mRdSVMejQj2lXFUFoZeTKb0oG8h4PUhk68k2RsM1/VTcKqlCqz9++wq8rSE6 a1Xy0Uso+VQSinswSbYzgIgQ0LOYaei+O6pgQJJs0ffQnCtbHwVapbnuIx17F8heFe5qYwu02K+ GqXAV8D9TKww1lNRS3YKd0N05VHblWyiU/r+Nf8bM5zaj+2Rnt/AWzQReOGrnrsRpWlekgeXtmG Y3XdTK7PQu/zDyFdHc0PVIun4+aToUn3TpXgR49Jgqh0wd+1GynACUoQx4Jxs8ptWvYHyCxMr08 XArWDNY6/JkYclL651VmgHuk5ZwmfXMQt1VOYfW12fw== X-Google-Smtp-Source: AGHT+IHqZ+CS4iW8CLQEyu1h6tS8naJW5/wx1w6d3OEUAwGFKXqC/w0r6pktbNxDlMndlPjMyIWntA== X-Received: by 2002:a05:6000:250f:b0:3a4:f520:8bfc with SMTP id ffacd0b85a97d-3a531cea58bmr1429827f8f.36.1749183229278; Thu, 05 Jun 2025 21:13:49 -0700 (PDT) Received: from ?IPV6:2a02:6b67:e102:801:da5e:d3ff:fea6:5dcb? ([2a02:6b67:e102:801:da5e:d3ff:fea6:5dcb]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3a53244ee34sm749616f8f.72.2025.06.05.21.13.47 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 05 Jun 2025 21:13:48 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------xnIMkWC9gZxaB9PcGpkUxLUY" Message-ID: <8211927c-238f-48c6-87ff-b3a2a9298e70@gmail.com> Date: Fri, 6 Jun 2025 05:12:12 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Daniel Lopez Content-Language: en-US-large Subject: 31.0.50; [PATCH] DocView: Opening ODF file fails when it has more than one file extension, or when using unoconv To: bug-gnu-emacs@gnu.org Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=daniel.lopez999@gmail.com; helo=mail-wr1-x431.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=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.2 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi, This is actually 2 seperate problems, but the code to fix them (patch below) is closely related so I hope it's okay to write it up like this. 1) If I try and open a LibreOffice document with a name like "hello.odt.~123~" (example attached), the DocView conversion buffer appears and a second later the following error occurs: Content analysis details: (1.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (daniel.lopez999[at]gmail.com) 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (daniel.lopez999[at]gmail.com) 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 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: 0.2 (/) This is a multi-part message in MIME format. --------------xnIMkWC9gZxaB9PcGpkUxLUY Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, This is actually 2 seperate problems, but the code to fix them (patch below) is closely related so I hope it's okay to write it up like this. 1) If I try and open a LibreOffice document with a name like "hello.odt.~123~" (example attached), the DocView conversion buffer appears and a second later the following error occurs: File is missing: "Renaming", "No such file or directory", "/tmp/docview1000/hello.odt.~123~-76506e223cfc94b3909bc6acc92e1426/hello.pdf", "/tmp/docview1000/hello.odt.~123~-76506e223cfc94b3909bc6acc92e1426/doc.pdf" (Practically speaking, this bit me when I tried to open a particular revision of a document from a Git repo, using `vc-revision-other-window` - as Emacs saves the file with a commit hash on the end of the name like so: "hello.odt.~1a1b409~"). The trouble is that when `doc-view-odf->pdf-converter-soffice` runs the external program 'soffice' to convert the document to a PDF, soffice can only be given an output directory, not a file name; soffice names it after the input file with the file extension changed to '.pdf'. But soffice considers the file extension to only be the last part ".~123~", so creates "hello.odt.pdf", whereas Emacs (via `file-name-base`) cuts off ".odt.~123~" and ends up expecting the file "hello.pdf". 2) Through the customization option `doc-view-odf->pdf-converter-program`, Emacs can alternatively use the program 'unoconv' to do the conversion. But with this selected I couldn't open any LibreOffice documents, regardless of file name. Turns out that when Emacs passes a output directory to unoconv it always results in an output file simply called ".pdf". But as it happens, unoconv does allow you to specify an output filename in full. The patch: I changed `doc-view-odf->pdf-converter-soffice`, `doc-view-odf->pdf-converter-unoconv` and the calling function `doc-view-convert-current-doc` to work around or fix both these issues. Any renaming is now done within the former two functions to keep the quirks of those programs contained. Daniel In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.49, cairo version 1.18.4) of 2025-04-01 built on ENO Repository revision: bdee2481728f57053690f0dd76c943ddd5f343d9 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101016 System Description: Arch Linux Configured using: 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games --with-modules --without-libotf --without-m17n-flt --without-gconf --with-native-compilation=yes --with-xinput2 --with-x-toolkit=gtk3 --without-xaw3d --with-sound=alsa --with-tree-sitter --without-gpm --without-compress-install '--program-transform-name=s/\([ec]tags\)/\1.emacs/' 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/mnt/gear/download/archbuilds/text/emacs-git/src=/usr/src/debug/emacs-git -flto=auto' 'LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR GTK3 ZLIB Important settings: value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8 Major mode: Text Minor modes in effect: global-company-mode: t company-mode: t server-mode: t ergokeys-minor-mode: t eval-sexp-fu-flash-mode: t volatile-highlights-mode: t ioutline-minor-mode: t global-undo-tree-mode: t undo-tree-mode: t xclip-mode: t delete-selection-mode: t windmove-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t column-number-mode: t line-number-mode: t visual-line-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/daniel/.emacs.d/externals/expand-region.el/expand-region hides /home/daniel/.emacs.d/externals/expand-region /home/daniel/.emacs.d/externals/multiple-cursors.el/multiple-cursors hides /home/daniel/.emacs.d/externals/multiple-cursors /home/daniel/.emacs.d/externals/cmake-mode hides /home/daniel/.emacs.d/elpa/cmake-mode-20241219.1518/cmake-mode /home/daniel/.emacs.d/externals/multiple-cursors.el/mc-mark-pop hides /home/daniel/.emacs.d/elpa/multiple-cursors-20180913.1237/mc-mark-pop /home/daniel/.emacs.d/externals/multiple-cursors.el/mc-hide-unmatched-lines-mode hides /home/daniel/.emacs.d/elpa/multiple-cursors-20180913.1237/mc-hide-unmatched-lines-mode /home/daniel/.emacs.d/externals/multiple-cursors.el/mc-cycle-cursors hides /home/daniel/.emacs.d/elpa/multiple-cursors-20180913.1237/mc-cycle-cursors /home/daniel/.emacs.d/externals/multiple-cursors.el/mc-separate-operations hides /home/daniel/.emacs.d/elpa/multiple-cursors-20180913.1237/mc-separate-operations /home/daniel/.emacs.d/externals/multiple-cursors.el/rectangular-region-mode hides /home/daniel/.emacs.d/elpa/multiple-cursors-20180913.1237/rectangular-region-mode /home/daniel/.emacs.d/externals/multiple-cursors.el/multiple-cursors-core hides /home/daniel/.emacs.d/elpa/multiple-cursors-20180913.1237/multiple-cursors-core /home/daniel/.emacs.d/externals/multiple-cursors.el/multiple-cursors hides /home/daniel/.emacs.d/elpa/multiple-cursors-20180913.1237/multiple-cursors /home/daniel/.emacs.d/externals/multiple-cursors.el/mc-mark-more hides /home/daniel/.emacs.d/elpa/multiple-cursors-20180913.1237/mc-mark-more /home/daniel/.emacs.d/externals/multiple-cursors.el/multiple-cursors-pkg hides /home/daniel/.emacs.d/elpa/multiple-cursors-20180913.1237/multiple-cursors-pkg /home/daniel/.emacs.d/externals/multiple-cursors.el/mc-edit-lines hides /home/daniel/.emacs.d/elpa/multiple-cursors-20180913.1237/mc-edit-lines /home/daniel/.emacs.d/externals/pkg-info hides /home/daniel/.emacs.d/elpa/pkg-info-20150517.1143/pkg-info /home/daniel/.emacs.d/externals/epl hides /home/daniel/.emacs.d/elpa/epl-20180205.2049/epl /home/daniel/.emacs.d/externals/highlight hides /home/daniel/.emacs.d/elpa/highlight-20161103.1410/highlight /home/daniel/.emacs.d/elpa/lispy-20230314.1738/elpa hides /home/daniel/.emacs.d/elpa/worf-20220102.835/elpa /home/daniel/.emacs.d/elpa/lv-20200507.1518/lv hides /home/daniel/.emacs.d/elpa/hydra-20181030.1925/lv /home/daniel/.emacs.d/elpa/lispy-20230314.1738/elpa hides /home/daniel/.emacs.d/elpa/ivy-20230714.751/elpa /home/daniel/.emacs.d/externals/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode /home/daniel/.emacs.d/elpa/transient-20250418.2149/transient hides /usr/share/emacs/31.0.50/lisp/transient /home/daniel/.emacs.d/dan/asm-mode hides /usr/share/emacs/31.0.50/lisp/progmodes/asm-mode /home/daniel/.emacs.d/elpa/csharp-mode-20211124.1105/csharp-mode hides /usr/share/emacs/31.0.50/lisp/progmodes/csharp-mode /home/daniel/.emacs.d/externals/peg hides /usr/share/emacs/31.0.50/lisp/progmodes/peg /home/daniel/.emacs.d/dan/re-builder hides /usr/share/emacs/31.0.50/lisp/emacs-lisp/re-builder Features: (pcmpl-unix sh-script executable shell pcomplete find-dired grep mhtml-mode css-mode-expansions css-mode smie eww vtable url-queue shr pixel-fill kinsoku url-file svg xml mm-url gnus nnheader range js-mode-expansions js c-ts-common cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs html-mode-expansions sgml-mode facemenu dom tabify compare-w shadow sort mail-extr emacsbug lisp-mnt message yank-media rfc822 mml mml-sec epa epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader sendmail face-remap markdown-mode let-alist noutline outline doc-view filenotify jka-compr image-mode exif scroll-lock pulse python-el-fgallina-expansions python compat treesit time-date compile thai-util thai-word cl-print edebug debug backtrace find-func mail-utils gnutls network-stream url-http mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm puny url-cache url-auth vc-svn dabbrev repeat shortdoc help-fns radix-tree misearch multi-isearch vc-git diff-mode track-changes files-x vc-dispatcher ibuf-ext dired-aux dan-encl imenu company-oddmuse company-keywords company-etags company-gtags company-dabbrev-code company-dabbrev company-files company-capf company-cmake company-xcode company-clang company-semantic company-eclim company-template company-bbdb company server cus-edit pp cus-load polymode poly-lock polymode-base polymode-weave polymode-export polymode-compat polymode-methods polymode-core format-spec polymode-classes eieio-custom wid-edit eieio-base color dsqlite text-property-search mule-util ddrill outline-ex emacs-process expand-region text-mode-expansions er-basic-expansions expand-region-core expand-region-custom ace-jump-mode paredit edmacro kmacro shadertoy-mode sporth-mode soundtoy-mode sc-mode sclang-language snd-mode parse-lisp wat-mode wat-mode-macro wat-mode-font-lock butterchurn-mode electron-browser-mode kite-mini-mode parse-js dash websocket bindat dpython-mode dpdb dgdb IEEE-754 gud comint ansi-osc direwindow windowLight dan-comint python-ex python-queries parse-python re-search-ex dan-test ffap asm-mode derived gud-short-key-mode gud-ex comint-ex eval-sexp-fu highlight etags fileloop generator xref project volatile-highlights dan-comment outline-db-mode ioutline undo-tree diff desktop frameset ansi-color pcase number-scrubbing stringmath dired-x dired dired-loaddefs dired-details xclip kill-ring-search browse-kill-ring delsel multiple-cursors mc-hide-unmatched-lines-mode mc-separate-operations rectangular-region-mode mc-mark-pop mc-mark-more thingatpt mc-cycle-cursors mc-edit-lines multiple-cursors-core rect advice ibuf-macs ibuffer ibuffer-loaddefs window-ex dan-windresize-mode easy-mmode transpose-frame windresize ring windmove finder-inf comp comp-cstr cl-extra help-mode warnings comp-run comp-common rx tex-site basic-mode-autoloads bui-autoloads cmake-mode-autoloads csv-mode-autoloads dape-autoloads dictcc-autoloads dired-duplicates-autoloads dumb-jump-autoloads eat-autoloads heap-autoloads cl llama-autoloads lsp-docker-autoloads lsp-treemacs-autoloads lsp-mode-autoloads lua-mode-autoloads lv-autoloads minimap-autoloads org-drill-autoloads pamparam-autoloads ivy-posframe-autoloads lispy-autoloads iedit-autoloads pdf-tools-autoloads powershell-autoloads realgud-recursive-autoloads reverso-autoloads slime-autoloads sqlite-mode-extras-autoloads transient-autoloads transpose-frame-autoloads treemacs-autoloads cfrs-autoloads pfuture-autoloads ace-window-autoloads vterm-autoloads wat-ts-mode-autoloads worf-autoloads ace-link-autoloads avy-autoloads swiper-autoloads info ivy-autoloads xclip-autoloads yaml-autoloads zones-autoloads zoutline-autoloads package browse-url xdg url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine 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 emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 1146743 300078) (symbols 48 63070 77) (strings 32 326478 27387) (string-bytes 1 13536281) (vectors 16 90479) (vector-slots 8 1878066 144783) (floats 8 460 2152) (intervals 56 61868 3838) (buffers 992 83)) --------------xnIMkWC9gZxaB9PcGpkUxLUY Content-Type: application/octet-stream; name="hello.odt.~123~" Content-Disposition: attachment; filename="hello.odt.~123~" Content-Transfer-Encoding: base64 UEsDBBQAAAgAAFMSxFpexjIMJwAAACcAAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQu b2FzaXMub3BlbmRvY3VtZW50LnRleHRQSwMEFAAACAAAUxLEWgAAAAAAAAAAAAAAABwAAABD b25maWd1cmF0aW9uczIvYWNjZWxlcmF0b3IvUEsDBBQAAAgAAFMSxFoAAAAAAAAAAAAAAAAf AAAAQ29uZmlndXJhdGlvbnMyL2ltYWdlcy9CaXRtYXBzL1BLAwQUAAAIAABTEsRaAAAAAAAA AAAAAAAAGgAAAENvbmZpZ3VyYXRpb25zMi90b29scGFuZWwvUEsDBBQAAAgAAFMSxFoAAAAA AAAAAAAAAAAYAAAAQ29uZmlndXJhdGlvbnMyL2Zsb2F0ZXIvUEsDBBQAAAgAAFMSxFoAAAAA AAAAAAAAAAAaAAAAQ29uZmlndXJhdGlvbnMyL3N0YXR1c2Jhci9QSwMEFAAACAAAUxLEWgAA AAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvdG9vbGJhci9QSwMEFAAACAAAUxLEWgAA AAAAAAAAAAAAABwAAABDb25maWd1cmF0aW9uczIvcHJvZ3Jlc3NiYXIvUEsDBBQAAAgAAFMS xFoAAAAAAAAAAAAAAAAaAAAAQ29uZmlndXJhdGlvbnMyL3BvcHVwbWVudS9QSwMEFAAACAAA UxLEWgAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvbWVudWJhci9QSwMEFAAICAgA UxLEWgAAAAAAAAAAAAAAAAoAAABzdHlsZXMueG1s7Vtbb9w2Fn7fX2Go6L7JGs14Es80ToFt sbsFkizQpn0tOBI1Yk2JAknNePLr9/AmUVfLsXexF/shwPDcD8/5eFPeff9Q0KsT5oKw8i6I r1fBFS4TlpLyeBf8+vmv4W3w/fs/vWNZRhK8T1lSF7iUoZAXisUVCJdinwixkXdBLmW1j6Lz +Xx93lwzfow+/xwpWijxg4wCy33kaUrHuNer1SY6RimSKDwRfP7GSTzkshiViHe7XaSpjjVl xYTqOAKOEJ/Ae+G4RcJJBZ7XvNwzJIjYl6jAYi+TPatw6aLd+9x7nSMzkjFeLJVWvL5sgWQ+ EdNt9BGI+p+PHxy/mYGl1ux8efYYY405JWA4XHZuIvO7jWyppQdBw4yFCSsqJMmB9o2eZ62e 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 bWltZXR5cGVQSwECFAAUAAAIAABTEsRaAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAABNAAAA Q29uZmlndXJhdGlvbnMyL2FjY2VsZXJhdG9yL1BLAQIUABQAAAgAAFMSxFoAAAAAAAAAAAAA AAAfAAAAAAAAAAAAAAAAAIcAAABDb25maWd1cmF0aW9uczIvaW1hZ2VzL0JpdG1hcHMvUEsB AhQAFAAACAAAUxLEWgAAAAAAAAAAAAAAABoAAAAAAAAAAAAAAAAAxAAAAENvbmZpZ3VyYXRp b25zMi90b29scGFuZWwvUEsBAhQAFAAACAAAUxLEWgAAAAAAAAAAAAAAABgAAAAAAAAAAAAA AAAA/AAAAENvbmZpZ3VyYXRpb25zMi9mbG9hdGVyL1BLAQIUABQAAAgAAFMSxFoAAAAAAAAA AAAAAAAaAAAAAAAAAAAAAAAAADIBAABDb25maWd1cmF0aW9uczIvc3RhdHVzYmFyL1BLAQIU ABQAAAgAAFMSxFoAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAGoBAABDb25maWd1cmF0aW9u czIvdG9vbGJhci9QSwECFAAUAAAIAABTEsRaAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAACg AQAAQ29uZmlndXJhdGlvbnMyL3Byb2dyZXNzYmFyL1BLAQIUABQAAAgAAFMSxFoAAAAAAAAA AAAAAAAaAAAAAAAAAAAAAAAAANoBAABDb25maWd1cmF0aW9uczIvcG9wdXBtZW51L1BLAQIU ABQAAAgAAFMSxFoAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABICAABDb25maWd1cmF0aW9u czIvbWVudWJhci9QSwECFAAUAAgICABTEsRapJ1bS9sIAABOMQAACgAAAAAAAAAAAAAAAABI AgAAc3R5bGVzLnhtbFBLAQIUABQACAgIAFMSxFq092jSBQEAAIMDAAAMAAAAAAAAAAAAAAAA AFsLAABtYW5pZmVzdC5yZGZQSwECFAAUAAgICABTEsRavg0F55ADAACKDgAACwAAAAAAAAAA AAAAAACaDAAAY29udGVudC54bWxQSwECFAAUAAgICABTEsRaqXR1YL8BAADNAwAACAAAAAAA AAAAAAAAAABjEAAAbWV0YS54bWxQSwECFAAUAAgICABTEsRajRTFt/AHAADFOAAADAAAAAAA AAAAAAAAAABYEgAAc2V0dGluZ3MueG1sUEsBAhQAFAAACAAAUxLEWsj1JZzwAwAA8AMAABgA AAAAAAAAAAAAAAAAghoAAFRodW1ibmFpbHMvdGh1bWJuYWlsLnBuZ1BLAQIUABQACAgIAFMS xFoZ3IeuLQEAACUEAAAVAAAAAAAAAAAAAAAAAKgeAABNRVRBLUlORi9tYW5pZmVzdC54bWxQ SwUGAAAAABEAEQBlBAAAGCAAAAAA --------------xnIMkWC9gZxaB9PcGpkUxLUY Content-Type: text/x-patch; charset=UTF-8; name="Fix-opening-of-ODF-files.patch" Content-Disposition: attachment; filename="Fix-opening-of-ODF-files.patch" Content-Transfer-Encoding: base64 LS0tIC91c3Ivc2hhcmUvZW1hY3MvMzEuMC41MC9saXNwL2RvYy12aWV3LmVsCTIwMjUtMDQt MDEgMDQ6NTQ6MjguMDAwMDAwMDAwICswMTAwCisrKyBkb2Mtdmlldy5lbAkyMDI1LTA2LTA2 IDA0OjU1OjM3LjAwMDAwMDAwMCArMDEwMApAQCAtMTMyMywxOCArMTMyMywxNCBAQCBUaGUg dGVzdCBpcyBwZXJmb3JtZWQgdXNpbmcgYGRvYy12aWV3LXBkCiAgICAgICAgLEAoaWYgcGFn ZSBgKCwoZm9ybWF0ICIlZCIgcGFnZSkpKSkKICAgICAgY2FsbGJhY2spKSkKIAotKGRlZnVu IGRvYy12aWV3LW9kZi0+cGRmLWNvbnZlcnRlci11bm9jb252IChvZGYgY2FsbGJhY2spCi0g ICJDb252ZXJ0IE9ERiB0byBQREYgYXN5bmNocm9ub3VzbHkgYW5kIGNhbGwgQ0FMTEJBQ0sg d2hlbiBmaW5pc2hlZC4KLVRoZSBjb252ZXJ0ZWQgUERGIGlzIHB1dCBpbnRvIHRoZSBjdXJy ZW50IGNhY2hlIGRpcmVjdG9yeSwgYW5kIGl0Ci1pcyBuYW1lZCBsaWtlIE9ERiB3aXRoIHRo ZSBleHRlbnNpb24gdHVybmVkIHRvIHBkZi4iCisoZGVmdW4gZG9jLXZpZXctb2RmLT5wZGYt Y29udmVydGVyLXVub2NvbnYgKG9kZiBwZGYgY2FsbGJhY2spCisgICJDb252ZXJ0IE9ERiB0 byBQREYgYXN5bmNocm9ub3VzbHkgYW5kIGNhbGwgQ0FMTEJBQ0sgd2hlbiBmaW5pc2hlZC4i CiAgIChkb2Mtdmlldy1zdGFydC1wcm9jZXNzICJvZGYtPnBkZiIgZG9jLXZpZXctb2RmLT5w ZGYtY29udmVydGVyLXByb2dyYW0KLQkJCSAgKGxpc3QgIi1mIiAicGRmIiAiLW8iIChkb2Mt dmlldy0tY3VycmVudC1jYWNoZS1kaXIpIG9kZikKKwkJCSAgKGxpc3QgIi1mIiAicGRmIiAi LW8iIHBkZiBvZGYpCiAJCQkgIGNhbGxiYWNrKSkKIAotKGRlZnVuIGRvYy12aWV3LW9kZi0+ cGRmLWNvbnZlcnRlci1zb2ZmaWNlIChvZGYgY2FsbGJhY2spCi0gICJDb252ZXJ0IE9ERiB0 byBQREYgYXN5bmNocm9ub3VzbHkgYW5kIGNhbGwgQ0FMTEJBQ0sgd2hlbiBmaW5pc2hlZC4K LVRoZSBjb252ZXJ0ZWQgUERGIGlzIHB1dCBpbnRvIHRoZSBjdXJyZW50IGNhY2hlIGRpcmVj dG9yeSwgYW5kIGl0Ci1pcyBuYW1lZCBsaWtlIE9ERiB3aXRoIHRoZSBleHRlbnNpb24gdHVy bmVkIHRvIHBkZi4iCisoZGVmdW4gZG9jLXZpZXctb2RmLT5wZGYtY29udmVydGVyLXNvZmZp Y2UgKG9kZiBwZGYgY2FsbGJhY2spCisgICJDb252ZXJ0IE9ERiB0byBQREYgYXN5bmNocm9u b3VzbHkgYW5kIGNhbGwgQ0FMTEJBQ0sgd2hlbiBmaW5pc2hlZC4iCiAgIDs7IEZJWE1FOiBz b2ZmaWNlIGRvZXNuJ3Qgd29yayB3aGVuIHRoZXJlJ3MgYW5vdGhlciBydW5uaW5nCiAgIDs7 IExpYnJlT2ZmaWNlIGluc3RhbmNlLCBpbiB3aGljaCBjYXNlIGl0IHJldHVybnMgc3VjY2Vz cyB3aXRob3V0CiAgIDs7IGFjdHVhbGx5IGRvaW5nIGFueXRoaW5nLiAgU2VlIExpYnJlT2Zm aWNlIGJ1ZwpAQCAtMTM1Myw2ICsxMzQ5LDE3IEBAIGlzIG5hbWVkIGxpa2UgT0RGIHdpdGgg dGhlIGV4dGVuc2lvbiB0dXIKIAkJCSAgICAgIi0taGVhZGxlc3MiICItLWNvbnZlcnQtdG8i ICJwZGYiCiAJCQkgICAgICItLW91dGRpciIgKGRvYy12aWV3LS1jdXJyZW50LWNhY2hlLWRp cikgb2RmKQogCQkJICAgIChsYW1iZGEgKCkKKwkJCSAgICAgIDs7IEZJWE1FOiBzb2ZmaWNl IGFsbG93cyB5b3UgdG8gY2hvb3NlIHRoZSBkaXJlY3RvcnkgZm9yIHRoZSBvdXRwdXQgZmls ZSwKKwkJCSAgICAgIDs7IGJ1dCBhbHdheXMgbmFtZXMgaXQgYWZ0ZXIgdGhlIGlucHV0IGZp bGUgd2l0aCBpdHMgZXh0ZW5zaW9uIGNoYW5nZWQuCisJCQkgICAgICA7OyBEbyB0aGUgc2Ft ZSB0cmFuc2Zvcm1hdGlvbiBvdXJzZWx2ZXMgKG5vdGUgc29mZmljZSBvbmx5IHJlcGxhY2Vz IHRoZQorCQkJICAgICAgOzsgdmVyeSBsYXN0IGV4dGVuc2lvbiwgaWYgdGhlcmUgaXMgbW9y ZSB0aGFuIG9uZSkgYW5kIHJlbmFtZSB0aGUgZmlsZQorCQkJICAgICAgOzsgdG8gdGhlIGdp dmVuICdwZGYnIGFyZ3VtZW50LgorCQkJICAgICAgKGxldCAoKG5hbWUtZnJvbS1zb2ZmaWNl IChleHBhbmQtZmlsZS1uYW1lCisJCQkJCQkJKGNvbmNhdCAocmVwbGFjZS1yZWdleHAtaW4t c3RyaW5nICJcXC5bXi5dKiQiICIiIChmaWxlLW5hbWUtbm9uZGlyZWN0b3J5IGRvYy12aWV3 LS1idWZmZXItZmlsZS1uYW1lKSkgIi5wZGYiKQorCQkJCQkJCWRvYy12aWV3LS1jdXJyZW50 LWNhY2hlLWRpcikpKQorCQkJCSh3aGVuIChub3QgKHN0cmluZz0gbmFtZS1mcm9tLXNvZmZp Y2UgcGRmKSkKKwkJCQkgIChyZW5hbWUtZmlsZSBuYW1lLWZyb20tc29mZmljZSBwZGYpKSkK KwkJCSAgICAgIDs7CiAJCQkgICAgICAoZGVsZXRlLWRpcmVjdG9yeSB0bXAtdXNlci1pbnN0 YWxsLWRpciB0KQogCQkJICAgICAgKGZ1bmNhbGwgY2FsbGJhY2spKSkpKQogCkBAIC0xNDk2 LDE5ICsxNTAzLDkgQEAgVGhvc2UgZmlsZXMgYXJlIHNhdmVkIGluIHRoZSBkaXJlY3Rvcnkg ZwogICAgICAgKCdvZGYKICAgICAgICA7OyBPREYgZmlsZXMgaGF2ZSB0byBiZSBjb252ZXJ0 ZWQgdG8gUERGIGJlZm9yZSBHaG9zdHNjcmlwdCBjYW4KICAgICAgICA7OyBwcm9jZXNzIGl0 LgotICAgICAgIChsZXQgKChwZGYgKGRvYy12aWV3LWN1cnJlbnQtY2FjaGUtZG9jLXBkZikp Ci0gICAgICAgICAgICAgKG9wZGYgKGV4cGFuZC1maWxlLW5hbWUKLSAgICAgICAgICAgICAg ICAgICAgKGNvbmNhdCAoZmlsZS1uYW1lLWJhc2UgZG9jLXZpZXctLWJ1ZmZlci1maWxlLW5h bWUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIi5wZGYiKQotICAgICAgICAgICAg ICAgICAgICBkb2Mtdmlldy0tY3VycmVudC1jYWNoZS1kaXIpKQotICAgICAgICAgICAgIChw bmctZmlsZSBwbmctZmlsZSkpCi0JIDs7IFRoZSB1bm9jb252IHRvb2wgb25seSBzdXBwb3J0 cyBhbiBvdXRwdXQgZGlyZWN0b3J5LCBidXQgbm8KLQkgOzsgZmlsZSBuYW1lLiAgSXQncyBu YW1lZCBsaWtlIHRoZSBpbnB1dCBmaWxlIHdpdGggdGhlCi0JIDs7IGV4dGVuc2lvbiByZXBs YWNlZCBieSBwZGYuCi0gICAgICAgICAoZnVuY2FsbCBkb2Mtdmlldy1vZGYtPnBkZi1jb252 ZXJ0ZXItZnVuY3Rpb24gZG9jLXZpZXctLWJ1ZmZlci1maWxlLW5hbWUKKyAgICAgICAobGV0 ICgocGRmIChkb2Mtdmlldy1jdXJyZW50LWNhY2hlLWRvYy1wZGYpKSkKKyAgICAgICAgIChm dW5jYWxsIGRvYy12aWV3LW9kZi0+cGRmLWNvbnZlcnRlci1mdW5jdGlvbiBkb2Mtdmlldy0t YnVmZmVyLWZpbGUtbmFtZSBwZGYKICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKCkKLQkJ ICAgIDs7IFJlbmFtZSB0byBkb2MucGRmCi0JCSAgICAocmVuYW1lLWZpbGUgb3BkZiBwZGYp CiAJCSAgICAoZG9jLXZpZXctcGRmL3BzLT5wbmcgcGRmIHBuZy1maWxlKSkpKSkKICAgICAg IDs7IFRoZSBkb2Mtdmlldy1tb2RlLXAgY2hlY2sgZW5zdXJlcyB0aGF0IGVwdWIsIGNieiwg ZmIyIGFuZAogICAgICAgOzsgKG8peHBzIGFyZSBoYW5kbGVkIHdpdGggbXV0b29sCg== --------------xnIMkWC9gZxaB9PcGpkUxLUY--