* bug#74855: 30.0.92; dired - slow copy across (wireless) LAN
@ 2024-12-13 16:37 Christopher Howard
2024-12-19 4:31 ` Stefan Kangas
0 siblings, 1 reply; 11+ messages in thread
From: Christopher Howard @ 2024-12-13 16:37 UTC (permalink / raw)
To: 74855
Hello. Recently I was using dired to transfer 600 files, with about 2GB data total, across our LAN (one wi-fi hop involved). The source was a local directory, and the target was an SSH host on the LAN. I marked the files I wanted with dired-mark-files-regexp, and then used dired-do-copy to send them to "/ssh:<snip>@<snip>:/home/<snip>/<snip>". This took a really long time. Actually, the copy was still going after about 15 hours (overnight) though I could see it had not frozen up, but was still moving files.
Using scp directly, from Gnome console, I am seeing transfer rates of about 2.5 MB/s over the same path. So, I'm wondering why the large disparity. Could somebody explain further how Emacs goes about moving the file data and where the bottleneck would be. Is there room for improvement in this functionality?
In GNU Emacs 30.0.92 (build 3, x86_64-pc-linux-gnu, GTK+ Version
3.24.41, cairo version 1.18.0) of 2024-12-04 built on theoden
Repository revision: 130c2a13dc72fca1677a986d3131398e908e58df
Repository branch: emacs-30
Windowing system distributor 'The X.Org Foundation', version 11.0.12101012
System Description: Guix System
Configured using:
'configure --prefix=/home/christopher/local/emacs 'CFLAGS=-O0 -g3'
PKG_CONFIG_PATH=/gnu/store/f335yc4x4ps0qalm4hafy0dggsfczfkj-profile/lib/pkgconfig:/gnu/store/f335yc4x4ps0qalm4hafy0dggsfczfkj-profile/share/pkgconfig:/home/christopher/.guix-home/profile/lib/pkgconfig:/home/christopher/.guix-home/profile/share/pkgconfig:/home/christopher/.guix-profile/lib/pkgconfig:/home/christopher/.guix-profile/share/pkgconfig'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP
SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINPUT2 XPM
GTK3 ZLIB
Important settings:
value of $EMACSLOADPATH: /home/christopher/local/emacs/share/emacs/30.0.92/lisp:/home/christopher/.guix-home/profile/share/emacs/site-lisp
value of $EMACSNATIVELOADPATH: /home/christopher/local/emacs/share/emacs/30.0.92/lisp:/home/christopher/.guix-home/profile/lib/emacs/native-site-lisp
value of $LANG: en_US.utf8
locale-coding-system: utf-8-unix
Major mode: Summary
Minor modes in effect:
global-git-commit-mode: t
magit-auto-revert-mode: t
repeat-mode: t
pdf-occur-global-minor-mode: t
engine-mode: t
rcirc-track-minor-mode: t
roam-track-minor-mode: t
org-roam-db-autosync-mode: t
server-mode: t
helm-mode: t
helm-minibuffer-history-mode: t
async-bytecomp-package-mode: t
minibuffer-depth-indicate-mode: t
global-display-line-numbers-mode: t
display-line-numbers-mode: t
cl-old-struct-compat-mode: 1
tooltip-mode: t
global-eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
minibuffer-regexp-mode: t
buffer-read-only: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
~/Repos/elpa/debbugs/debbugs-compat hides /gnu/store/mmcwi9khn458lykkk8l37xaxnjvq62pv-emacs-debbugs-0.41/share/emacs/site-lisp/debbugs-0.41/debbugs-compat
~/Repos/elpa/debbugs/debbugs-browse hides /gnu/store/mmcwi9khn458lykkk8l37xaxnjvq62pv-emacs-debbugs-0.41/share/emacs/site-lisp/debbugs-0.41/debbugs-browse
~/Repos/elpa/debbugs/debbugs-gnu hides /gnu/store/mmcwi9khn458lykkk8l37xaxnjvq62pv-emacs-debbugs-0.41/share/emacs/site-lisp/debbugs-0.41/debbugs-gnu
~/Repos/elpa/debbugs/debbugs hides /gnu/store/mmcwi9khn458lykkk8l37xaxnjvq62pv-emacs-debbugs-0.41/share/emacs/site-lisp/debbugs-0.41/debbugs
~/Repos/elpa/debbugs/debbugs-guix hides /gnu/store/mmcwi9khn458lykkk8l37xaxnjvq62pv-emacs-debbugs-0.41/share/emacs/site-lisp/debbugs-0.41/debbugs-guix
~/Repos/elpa/debbugs/debbugs-org hides /gnu/store/mmcwi9khn458lykkk8l37xaxnjvq62pv-emacs-debbugs-0.41/share/emacs/site-lisp/debbugs-0.41/debbugs-org
~/Repos/elpa/debbugs/debbugs-pkg hides /gnu/store/mmcwi9khn458lykkk8l37xaxnjvq62pv-emacs-debbugs-0.41/share/emacs/site-lisp/debbugs-0.41/debbugs-pkg
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/net/soap-client hides /gnu/store/8pr1yy7pcai1g1r52c2xcha58nmbi32a-emacs-soap-client-3.2.3/share/emacs/site-lisp/soap-client-3.2.3/soap-client
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/net/soap-inspect hides /gnu/store/8pr1yy7pcai1g1r52c2xcha58nmbi32a-emacs-soap-client-3.2.3/share/emacs/site-lisp/soap-client-3.2.3/soap-inspect
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/emacs-lisp/compat hides /gnu/store/5fz4hfsqgh2rgdz2gxpxsnf6ak2nbsnx-emacs-compat-30.0.0.0/share/emacs/site-lisp/compat-30.0.0.0/compat
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/progmodes/eglot hides /gnu/store/dc8j46wg6msy43sm8473i2ghb0kkqzrm-emacs-eglot-1.17/share/emacs/site-lisp/eglot-1.17/eglot
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/emacs-lisp/eldoc hides /gnu/store/yzh97y7djcn0zylrdqzcq0k3kziwkh3c-emacs-eldoc-1.15.0/share/emacs/site-lisp/eldoc-1.15.0/eldoc
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/external-completion hides /gnu/store/w2s88x6rgc8cripdd662pxfh0wdfks2x-emacs-external-completion-0.1/share/emacs/site-lisp/external-completion-0.1/external-completion
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/jsonrpc hides /gnu/store/68sh2hccihmj9skgmb3gcc8nr3jhnn9k-emacs-jsonrpc-1.0.25/share/emacs/site-lisp/jsonrpc-1.0.25/jsonrpc
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/progmodes/project hides /gnu/store/rhmkc30ad8j5dhl9yws1s2byyqs84yq0-emacs-project-0.11.1/share/emacs/site-lisp/project-0.11.1/project
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/progmodes/xref hides /gnu/store/612wcw3lg8gxwsigqkm8b72hj3pnwr8x-emacs-xref-1.7.0/share/emacs/site-lisp/xref-1.7.0/xref
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/emacs-lisp/seq hides /gnu/store/prl5nb68h3dj1wx4jivdls5d8f8p9jjc-emacs-seq-2.24/share/emacs/site-lisp/seq-2.24/seq
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-element-ast hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-element-ast
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-lisp hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-lisp
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-awk hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-awk
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol-mhe hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol-mhe
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-haskell hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-haskell
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-pcomplete hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-pcomplete
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-makefile hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-makefile
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-processing hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-processing
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-sql hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-sql
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-id hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-id
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-refile hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-refile
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-lilypond hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-lilypond
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ox-html hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ox-html
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/oc hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/oc
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-octave hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-octave
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ox-texinfo hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ox-texinfo
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-entities hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-entities
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-C hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-C
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol-w3m hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol-w3m
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-archive hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-archive
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol-doi hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol-doi
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol-eww hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol-eww
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ox-man hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ox-man
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-mobile hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-mobile
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol-gnus hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol-gnus
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol-bbdb hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol-bbdb
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ox-koma-letter hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ox-koma-letter
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-maxima hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-maxima
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-css hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-css
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-element hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-element
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ox hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ox
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-datetree hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-datetree
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-tempo hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-tempo
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-keys hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-keys
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-js hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-js
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-emacs-lisp hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-emacs-lisp
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-lint hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-lint
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-habit hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-habit
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-crypt hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-crypt
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-attach hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-attach
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-plantuml hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-plantuml
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-agenda hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-agenda
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-indent hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-indent
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-timer hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-timer
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ox-beamer hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ox-beamer
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-macs hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-macs
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-exp hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-exp
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-persist hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-persist
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-eshell hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-eshell
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ox-icalendar hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ox-icalendar
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-scheme hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-scheme
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/oc-bibtex hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/oc-bibtex
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-screen hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-screen
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-matlab hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-matlab
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-num hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-num
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-list hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-list
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/oc-csl hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/oc-csl
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-clojure hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-clojure
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-sass hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-sass
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-ditaa hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-ditaa
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-faces hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-faces
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-sqlite hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-sqlite
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-table hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-table
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ox-latex hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ox-latex
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ox-ascii hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ox-ascii
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-perl hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-perl
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-mouse hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-mouse
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-macro hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-macro
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-goto hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-goto
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-duration hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-duration
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ox-org hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ox-org
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-python hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-python
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-inlinetask hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-inlinetask
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-fold-core hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-fold-core
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol-eshell hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol-eshell
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-cycle hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-cycle
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-capture hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-capture
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-forth hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-forth
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-feed hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-feed
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-lob hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-lob
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol-rmail hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol-rmail
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-clock hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-clock
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol-bibtex hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol-bibtex
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-julia hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-julia
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-sed hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-sed
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-table hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-table
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-ref hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-ref
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-compat hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-compat
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-lua hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-lua
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-comint hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-comint
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-colview hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-colview
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-eval hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-eval
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ox-odt hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ox-odt
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-fortran hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-fortran
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-shell hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-shell
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-version hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-version
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol-docview hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol-docview
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/oc-basic hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/oc-basic
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-calc hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-calc
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/oc-biblatex hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/oc-biblatex
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-R hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-R
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ox-publish hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ox-publish
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-dot hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-dot
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-tangle hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-tangle
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-ocaml hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-ocaml
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-attach-git hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-attach-git
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ox-md hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ox-md
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-loaddefs hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-loaddefs
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-groovy hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-groovy
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-ctags hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-ctags
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-ruby hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-ruby
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-fold hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-fold
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-protocol hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-protocol
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/oc-natbib hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/oc-natbib
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-org hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-org
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol-man hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol-man
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol-info hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol-info
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-footnote hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-footnote
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-plot hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-plot
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ol-irc hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ol-irc
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-core hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-core
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-java hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-java
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-latex hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-latex
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/ob-gnuplot hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/ob-gnuplot
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/org/org-src hides /gnu/store/qyq6c0w2r1yabwyghpqzasqw9n2y0i37-emacs-org-9.7.14/share/emacs/site-lisp/org-9.7.14/org-src
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/transient hides /gnu/store/znls5lgpz8jy7p43gfc5pkh64qmq3h8s-emacs-transient-0.7.7/share/emacs/site-lisp/transient-0.7.7/transient
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/progmodes/peg hides /gnu/store/ak6hlqd0zb5ij1zqrfvqy2p06iigqixq-emacs-peg-1.0.1/share/emacs/site-lisp/peg-1.0.1/peg
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/indent hides /gnu/store/b0bxn8a5h9ab6wxh2ld6m89n7r26f7wi-emacs-straight-el-0-3.b3760f5/share/emacs/site-lisp/straight-el-0-3.b3760f5/indent
/home/christopher/local/emacs/share/emacs/30.0.92/lisp/net/sasl hides /gnu/store/aq7g7fgljahgnibnsnj1z9ibpnnd2brz-emacs-flim-lb-1.14.9-143.23bb29d/share/emacs/site-lisp/flim-lb-1.14.9-143.23bb29d/sasl
/gnu/store/b0bxn8a5h9ab6wxh2ld6m89n7r26f7wi-emacs-straight-el-0-3.b3760f5/share/emacs/site-lisp/straight-el-0-3.b3760f5/install hides /gnu/store/nh3vfsdyc82vp2l46v7nkad0zr1f7l33-emacs-apel-lb-10.8-81.82eb232/share/emacs/site-lisp/apel-lb-10.8-81.82eb232/install
Features:
(shadow emacsbug calc-misc calc-alg calc-ext calc-menu calc
calc-loaddefs calc-macs tramp-cmds hl-line pdf-sync pdf-annot facemenu
pdf-outline pdf-links pdf-history helm-fd magit-bookmark magit-submodule
magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull
magit-fetch magit-clone magit-remote magit-commit magit-sequence
magit-notes magit-worktree magit-tag magit-merge magit-branch
magit-reset magit-files magit-refs magit-status magit magit-repos
magit-apply magit-wip magit-log which-func magit-diff smerge-mode diff
git-commit log-edit pcvs-util magit-core magit-autorevert autorevert
magit-margin magit-transient magit-process with-editor magit-mode
benchmark magit-git magit-base macros reposition org-duration cal-china
lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays
holiday-loaddefs diary-lib diary-loaddefs cal-iso org-agenda geiser-mode
geiser-xref geiser-compile geiser-guile info-look geiser geiser-debug
geiser-repl geiser-image geiser-capf geiser-doc geiser-menu
geiser-autodoc geiser-edit etags fileloop xref geiser-completion
geiser-eval geiser-connection geiser-syntax geiser-log geiser-popup view
geiser-impl geiser-custom geiser-base scheme help-at-pt elfeed-link
oc-basic ol-eww ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect
ol-docview doc-view ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi
python image-file image-converter helm-external helm-net dabbrev
tramp-cache time-stamp tramp-sh shortdoc comp-common cus-start project
ffap em-xtra em-unix em-tramp em-term term ehelp em-smart em-script
em-prompt em-pred em-ls em-hist em-glob em-extpipe em-elecslash em-cmpl
em-dirs em-basic em-banner em-alias esh-mode esh-var eshell esh-cmd
dired-aux mailalias smtpmail bbdb-message face-remap misearch
multi-isearch mule-util eww flow-fill sort gnus-cite smiley shr-color
color mail-extr textsec uni-scripts idna-mapping ucs-normalize
uni-confusable textsec-check gnus-async gnus-bcklg qp gnus-ml disp-table
mm-archive url-cache nndraft nnmh nnrss nnatom mm-url nnfeed nnfolder
utf-7 bbdb-gnus bbdb-mua bbdb-com crm network-stream gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu
mml2015 mm-view mml-smime smime dig nntp gnus-cache help-fns radix-tree
cl-print vc-git diff-mode track-changes vc-dispatcher winner
tramp-archive tramp-gvfs helm-command helm-elisp helm-eval helm-info
repeat transducers psx-info p-search p-search-query p-search-transient
transient heap cl guix-autoloads info debbugs-gnu add-log debbugs
soap-client url-http url-auth url-gw warnings rng-xsd rng-dt rng-util
xsd-regexp debbugs-compat discomfort debase-objectmanager debase
eieio-base mathjax xterm-color socks gnutls nsm elpher bookmark+
bookmark+-key bookmark+-1 gnus-sum gnus-group gnus-undo gnus-start
gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec
gnus-int gnus-range gnus-win gnus nnheader range bookmark+-bmu
bookmark+-lit bookmark+-mac uniline pcase rect hydra lv pdf-occur
ibuf-ext ibuffer ibuffer-loaddefs tablist tablist-filter
semantic/wisent/comp semantic/wisent semantic/wisent/wisent
semantic/util-modes semantic/util semantic semantic/tag semantic/lex
semantic/fw mode-local cedet pdf-isearch let-alist pdf-misc imenu
pdf-tools compile cus-edit pdf-view jka-compr pdf-cache pdf-info tq
pdf-util pdf-macs engine-mode rcirc bbdb bbdb-site timezone
text-decoration s names edebug debug backtrace org-roam-protocol
org-protocol org-roam-migrate org-roam-log org-roam-mode
org-roam-capture org-roam-id org-roam-node org-roam-db
emacsql-sqlite-builtin sqlite org-roam-utils org-roam-compat org-roam
org-capture org-element org-persist org-attach org-id org-refile
org-element-ast inline org ob ob-tangle ob-ref ob-lob ob-table ob-exp
org-macro org-src sh-script smie treesit executable ob-comint
org-pcomplete org-list org-footnote org-faces org-entities noutline
outline org-version ob-emacs-lisp ob-core ob-eval org-cycle org-table ol
org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu
calendar cal-loaddefs org-compat org-macs emacsql-sqlite
emacsql-sqlite-common emacsql emacsql-compiler magit-section
cursor-sensor compat dash cl-extra printing ps-print ps-print-loaddefs
lpr esh-ext esh-proc esh-opt esh-io esh-arg esh-module
esh-module-loaddefs esh-util elfeed-show elfeed-search wid-edit bookmark
pp message sendmail yank-media rfc822 mml mml-sec epa derived epg
rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev
mail-utils gmm-utils mailheader shr text-property-search pixel-fill
kinsoku puny svg dom elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db
elfeed-lib avl-tree generator url-queue url-file xml-query xml dired-x
server helm-mode helm-misc helm-files image-dired image-dired-tags
image-dired-external image-dired-util image-mode dired dired-loaddefs
exif filenotify helm-buffers all-the-icons all-the-icons-faces
data-material data-weathericons data-octicons data-fileicons
data-faicons data-alltheicons helm-occur helm-tags helm-locate helm-grep
helm-regexp helm-utils helm-help helm-types helm helm-global-bindings
helm-easymenu edmacro kmacro helm-core easy-mmode async-bytecomp
helm-source helm-multi-match helm-lib async green-phosphor-theme
mb-depth display-line-numbers crux tramp rx trampver tramp-integration
files-x tramp-message help-mode tramp-compat xdg shell pcomplete comint
ansi-osc ring parse-time iso8601 time-date format-spec ansi-color
tramp-loaddefs thingatpt cus-load finder-inf mu4e-autoloads
yeetube-autoloads xmlgen-autoloads xterm-color-autoloads
wttrin-autoloads oauth2-autoloads apel-lb-autoloads flim-lb-autoloads
semi-epg-autoloads visual-regexp-autoloads unfill-autoloads
tmr-autoloads rainbow-identifiers-autoloads company-autoloads
visual-fill-column-autoloads telega-autoloads straight-el-autoloads
srfi-autoloads helm-slime-autoloads macrostep-autoloads slime-autoloads
restart-emacs-autoloads puni-autoloads poke-mode-autoloads
placeholder-autoloads pdfgrep-autoloads tablist-autoloads
pdf-tools-autoloads password-generator-autoloads paredit-autoloads
sqlite3-api-autoloads pg-autoloads finalize-autoloads emacsql-autoloads
org-roam-autoloads peg-autoloads ov-autoloads ht-autoloads
org-super-agenda-autoloads org-ql-autoloads org-present-autoloads
org-noter-autoloads org-modern-autoloads hydra-autoloads
org-fc-autoloads ox-gemini-autoloads osm-autoloads
org-contacts-autoloads orderless-autoloads nssh-autoloads kv-autoloads
nov-el-autoloads names-autoloads advice memory-usage-autoloads
math-preview-autoloads persist-autoloads ts-autoloads deferred-autoloads
request-autoloads mastodon-autoloads markdown-mode-autoloads
transient-autoloads magit-autoloads m-buffer-el-autoloads
helm-org-contacts-autoloads gemini-autoloads srv-autoloads
hexrgb-autoloads fsm-autoloads jabber-autoloads inspector-autoloads
htmlize-autoloads shut-up-autoloads loop-autoloads list-utils-autoloads
elisp-refs-autoloads helpful-autoloads helm-wordnut-autoloads
password-store-autoloads helm-pass-autoloads helm-org-rifle-autoloads
popup-autoloads async-autoloads helm-autoloads f3-autoloads
expand-region-autoloads everywhere-autoloads eshell-z-autoloads
engine-mode-autoloads elpher-autoloads elfeed-autoloads eldev-autoloads
seq-autoloads xref-autoloads project-autoloads jsonrpc-autoloads
external-completion-autoloads eldoc-autoloads eglot-autoloads
ed-mode-autoloads compat-autoloads eat-autoloads debase-autoloads
discomfort-autoloads soap-client-autoloads debbugs-autoloads
daemons-autoloads crux-autoloads casual-info-autoloads
casual-dired-autoloads casual-lib-autoloads casual-calc-autoloads
browse-kill-ring-autoloads eimp-autoloads blimp-autoloads bbdb-autoloads
memoize-autoloads s-autoloads f-autoloads all-the-icons-autoloads
0x0-autoloads magit-popup-autoloads geiser-guile-autoloads
geiser-autoloads edit-indirect-autoloads dash-autoloads bui-autoloads
guix-emacs annotate-autoloads package browse-url 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 emacs)
Memory information:
((conses 16 2416107 514246) (symbols 48 72567 44)
(strings 32 517187 46455) (string-bytes 1 21524671)
(vectors 16 146355) (vector-slots 8 2375156 335385)
(floats 8 4097 17133) (intervals 56 180333 22466) (buffers 984 180))
--
📛 Christopher Howard
🚀 gemini://gem.librehacker.com
🌐 http://gem.librehacker.com
בראשית ברא אלהים את השמים ואת הארץ
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#74855: 30.0.92; dired - slow copy across (wireless) LAN
2024-12-13 16:37 bug#74855: 30.0.92; dired - slow copy across (wireless) LAN Christopher Howard
@ 2024-12-19 4:31 ` Stefan Kangas
2024-12-19 11:48 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 11+ messages in thread
From: Stefan Kangas @ 2024-12-19 4:31 UTC (permalink / raw)
To: Christopher Howard, 74855; +Cc: Michael Albinus
Christopher Howard <christopher@librehacker.com> writes:
> Hello. Recently I was using dired to transfer 600 files, with about 2GB data total, across our LAN (one wi-fi hop involved). The source was a local directory, and the target was an SSH host on the LAN. I marked the files I wanted with dired-mark-files-regexp, and then used dired-do-copy to send them to "/ssh:<snip>@<snip>:/home/<snip>/<snip>". This took a really long time. Actually, the copy was still going after about 15 hours (overnight) though I could see it had not frozen up, but was still moving files.
>
> Using scp directly, from Gnome console, I am seeing transfer rates of about 2.5 MB/s over the same path. So, I'm wondering why the large disparity. Could somebody explain further how Emacs goes about moving the file data and where the bottleneck would be. Is there room for improvement in this functionality?
Michael, any comments?
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#74855: 30.0.92; dired - slow copy across (wireless) LAN
2024-12-19 4:31 ` Stefan Kangas
@ 2024-12-19 11:48 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 16:59 ` Christopher Howard
2024-12-19 17:58 ` Stefan Kangas
0 siblings, 2 replies; 11+ messages in thread
From: Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-19 11:48 UTC (permalink / raw)
To: Stefan Kangas; +Cc: Christopher Howard, 74855
Stefan Kangas <stefankangas@gmail.com> writes:
> Christopher Howard <christopher@librehacker.com> writes:
>
>> Hello. Recently I was using dired to transfer 600 files, with about
>> 2GB data total, across our LAN (one wi-fi hop involved). The source
>> was a local directory, and the target was an SSH host on the LAN. I
>> marked the files I wanted with dired-mark-files-regexp, and then
>> used dired-do-copy to send them to
>> "/ssh:<snip>@<snip>:/home/<snip>/<snip>". This took a really long
>> time. Actually, the copy was still going after about 15 hours
>> (overnight) though I could see it had not frozen up, but was still
>> moving files.
>>
>> Using scp directly, from Gnome console, I am seeing transfer rates
>> of about 2.5 MB/s over the same path. So, I'm wondering why the
>> large disparity. Could somebody explain further how Emacs goes about
>> moving the file data and where the bottleneck would be. Is there
>> room for improvement in this functionality?
>
> Michael, any comments?
Tramp's "ssh" method is not suited for this use case. It encodes the
local file with base64, and decodes it when it has been arrived on the
remote side.
For this given use case, Tramp's "scp" method is better suited. See the
discussion in the manual, (info "(tramp) Connection types") and (info
"(tramp) Frequently Asked Questions") , the entry "How to speed up TRAMP".
Best regards, Michael.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#74855: 30.0.92; dired - slow copy across (wireless) LAN
2024-12-19 11:48 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-19 16:59 ` Christopher Howard
2024-12-19 17:50 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 17:58 ` Stefan Kangas
1 sibling, 1 reply; 11+ messages in thread
From: Christopher Howard @ 2024-12-19 16:59 UTC (permalink / raw)
To: Michael Albinus; +Cc: Stefan Kangas, 74855-done
Michael Albinus <michael.albinus@gmx.de> writes:
> Tramp's "ssh" method is not suited for this use case. It encodes the
> local file with base64, and decodes it when it has been arrived on the
> remote side.
>
> For this given use case, Tramp's "scp" method is better suited. See the
> discussion in the manual, (info "(tramp) Connection types") and (info
> "(tramp) Frequently Asked Questions") , the entry "How to speed up TRAMP".
Okay, thank you. I switched to "scp" method and it was much faster. Somehow I didn't realize or remember that there was a separate Tramp info manual, but I will spend more time studying that.
--
Christopher Howard
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#74855: 30.0.92; dired - slow copy across (wireless) LAN
2024-12-19 16:59 ` Christopher Howard
@ 2024-12-19 17:50 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 11+ messages in thread
From: Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-19 17:50 UTC (permalink / raw)
To: Christopher Howard; +Cc: Stefan Kangas, 74855
Christopher Howard <christopher@librehacker.com> writes:
Hi Christopher,
>> Tramp's "ssh" method is not suited for this use case. It encodes the
>> local file with base64, and decodes it when it has been arrived on the
>> remote side.
>>
>> For this given use case, Tramp's "scp" method is better suited. See the
>> discussion in the manual, (info "(tramp) Connection types") and (info
>> "(tramp) Frequently Asked Questions") , the entry "How to speed up TRAMP".
>
> Okay, thank you. I switched to "scp" method and it was much
> faster. Somehow I didn't realize or remember that there was a separate
> Tramp info manual, but I will spend more time studying that.
Thank you for the feedback. Honestly, almost nobody reads the Tramp manual.
Best regards, Michael.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#74855: 30.0.92; dired - slow copy across (wireless) LAN
2024-12-19 11:48 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 16:59 ` Christopher Howard
@ 2024-12-19 17:58 ` Stefan Kangas
2024-12-19 18:53 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 11+ messages in thread
From: Stefan Kangas @ 2024-12-19 17:58 UTC (permalink / raw)
To: Michael Albinus; +Cc: Christopher Howard, 74855
Michael Albinus <michael.albinus@gmx.de> writes:
> Tramp's "ssh" method is not suited for this use case. It encodes the
> local file with base64, and decodes it when it has been arrived on the
> remote side.
>
> For this given use case, Tramp's "scp" method is better suited. See the
> discussion in the manual, (info "(tramp) Connection types") and (info
> "(tramp) Frequently Asked Questions") , the entry "How to speed up TRAMP".
Thanks. Would it be possible to detect this situation and either warn
the user about it, or even automatically switch over to scp?
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#74855: 30.0.92; dired - slow copy across (wireless) LAN
2024-12-19 17:58 ` Stefan Kangas
@ 2024-12-19 18:53 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 20:14 ` Stefan Kangas
0 siblings, 1 reply; 11+ messages in thread
From: Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-19 18:53 UTC (permalink / raw)
To: Stefan Kangas; +Cc: Christopher Howard, 74855
Stefan Kangas <stefankangas@gmail.com> writes:
Hi Stefan,
>> Tramp's "ssh" method is not suited for this use case. It encodes the
>> local file with base64, and decodes it when it has been arrived on the
>> remote side.
>>
>> For this given use case, Tramp's "scp" method is better suited. See the
>> discussion in the manual, (info "(tramp) Connection types") and (info
>> "(tramp) Frequently Asked Questions") , the entry "How to speed up TRAMP".
>
> Thanks. Would it be possible to detect this situation and either warn
> the user about it, or even automatically switch over to scp?
What would be the check? "A user wants to copy 600 files, with about 2GB
data total, via ssh"? Tramp doesn't know this, it works file-wise. Such a
check must reside in dired, but I still doubt we'll find a good rule.
And, btw, a file with a size less that tramp-copy-size-limit (10240 bytes)
would still be copied via ssh, and not via scp. This check must also be
part of the rule.
Best regards, Michael.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#74855: 30.0.92; dired - slow copy across (wireless) LAN
2024-12-19 18:53 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-19 20:14 ` Stefan Kangas
2024-12-19 22:27 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 23:02 ` Christopher Howard
0 siblings, 2 replies; 11+ messages in thread
From: Stefan Kangas @ 2024-12-19 20:14 UTC (permalink / raw)
To: Michael Albinus; +Cc: Christopher Howard, 74855
Michael Albinus <michael.albinus@gmx.de> writes:
> Stefan Kangas <stefankangas@gmail.com> writes:
>
>> Thanks. Would it be possible to detect this situation and either warn
>> the user about it, or even automatically switch over to scp?
>
> What would be the check? "A user wants to copy 600 files, with about 2GB
> data total, via ssh"? Tramp doesn't know this, it works file-wise. Such a
> check must reside in dired, but I still doubt we'll find a good rule.
Something along those lines is what I imagined, yes. The rule might not
be perfect, but we could probably come up with some reasonable defaults
if we thought about it. But if it's not an interesting suggestion, then
that's fine by me.
Thanks for the explanation!
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#74855: 30.0.92; dired - slow copy across (wireless) LAN
2024-12-19 20:14 ` Stefan Kangas
@ 2024-12-19 22:27 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 23:02 ` Christopher Howard
1 sibling, 0 replies; 11+ messages in thread
From: Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-19 22:27 UTC (permalink / raw)
To: Stefan Kangas; +Cc: Christopher Howard, 74855
Stefan Kangas <stefankangas@gmail.com> writes:
Hi Stefan,
>>> Thanks. Would it be possible to detect this situation and either warn
>>> the user about it, or even automatically switch over to scp?
>>
>> What would be the check? "A user wants to copy 600 files, with about 2GB
>> data total, via ssh"? Tramp doesn't know this, it works file-wise. Such a
>> check must reside in dired, but I still doubt we'll find a good rule.
>
> Something along those lines is what I imagined, yes. The rule might not
> be perfect, but we could probably come up with some reasonable defaults
> if we thought about it. But if it's not an interesting suggestion, then
> that's fine by me.
If somebody adds this to dired, I won't object. Personally, I'm not interested.
> Thanks for the explanation!
Best regards, Michael.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#74855: 30.0.92; dired - slow copy across (wireless) LAN
2024-12-19 20:14 ` Stefan Kangas
2024-12-19 22:27 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-19 23:02 ` Christopher Howard
2024-12-19 23:09 ` Stefan Kangas
1 sibling, 1 reply; 11+ messages in thread
From: Christopher Howard @ 2024-12-19 23:02 UTC (permalink / raw)
To: Stefan Kangas; +Cc: Michael Albinus, 74855
Stefan Kangas <stefankangas@gmail.com> writes:
>> What would be the check? "A user wants to copy 600 files, with about 2GB
>> data total, via ssh"? Tramp doesn't know this, it works file-wise. Such a
>> check must reside in dired, but I still doubt we'll find a good rule.
>
> Something along those lines is what I imagined, yes. The rule might not
> be perfect, but we could probably come up with some reasonable defaults
> if we thought about it. But if it's not an interesting suggestion, then
> that's fine by me.
I don't think this is a critical issue, but another idea would be to simply have dired echo some kind of warning, suggesting to use the other method, and maybe referencing the manual.
The tricky part there, I think, is that the warning would get cleared from the echo area, by dired's progress messages, before the user had a chance to read or notice it. So I'm not sure if that would be useful in practice.
--
Christopher Howard
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#74855: 30.0.92; dired - slow copy across (wireless) LAN
2024-12-19 23:02 ` Christopher Howard
@ 2024-12-19 23:09 ` Stefan Kangas
0 siblings, 0 replies; 11+ messages in thread
From: Stefan Kangas @ 2024-12-19 23:09 UTC (permalink / raw)
To: Christopher Howard; +Cc: Michael Albinus, 74855
severity 74855 wishlist
tags 74855 + notabug
close 74855
thanks
Christopher Howard <christopher@librehacker.com> writes:
> Stefan Kangas <stefankangas@gmail.com> writes:
>
>>> What would be the check? "A user wants to copy 600 files, with about
>>> 2GB data total, via ssh"? Tramp doesn't know this, it works
>>> file-wise. Such a check must reside in dired, but I still doubt
>>> we'll find a good rule.
>>
>> Something along those lines is what I imagined, yes. The rule might
>> not be perfect, but we could probably come up with some reasonable
>> defaults if we thought about it. But if it's not an interesting
>> suggestion, then that's fine by me.
>
> I don't think this is a critical issue, but another idea would be to
> simply have dired echo some kind of warning, suggesting to use the
> other method, and maybe referencing the manual.
>
> The tricky part there, I think, is that the warning would get cleared
> from the echo area, by dired's progress messages, before the user had
> a chance to read or notice it. So I'm not sure if that would be useful
> in practice.
Patches to that effect are welcome. Please open a new bug report for
that if you decide to give it a try; I'm closing this bug report with
this message.
Thanks.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2024-12-19 23:09 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-13 16:37 bug#74855: 30.0.92; dired - slow copy across (wireless) LAN Christopher Howard
2024-12-19 4:31 ` Stefan Kangas
2024-12-19 11:48 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 16:59 ` Christopher Howard
2024-12-19 17:50 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 17:58 ` Stefan Kangas
2024-12-19 18:53 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 20:14 ` Stefan Kangas
2024-12-19 22:27 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 23:02 ` Christopher Howard
2024-12-19 23:09 ` Stefan Kangas
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.