Hi all,
I want emacsclientw.exe to start up an emacs daemon with a custom --init-directory in case no server is running. For that case, I think, I need to explicitly set the value for the "--alternate-editor"-flag to something like:
-a "%UserProfile%\bin\emacs-29.3\bin\runemacs.exe --init-directory %APPDATA%\Dotfiles\emacs\.emacs.d\"
However, doing so results in the following error: "file name or argument required". This is also true when specifing a relative path (i.e. AppData\Dotfiles\emacs\.emacs.d\).
After some more trials with single and/or double qoutes (details see below), I got the impression that this behavior is unlikely intentional. And I am somewhat confident, that more then one oy my many attempts should've been successful. (Note that I raised this issue first here: https://emacs.stackexchange.com/a/82355/30098)
For completeness, the full comand ("Target") I am trying to run is:
%UserProfile%\bin\emacs-29.3\bin\emacsclientw.exe -a '%UserProfile%\bin\emacs-29.3\bin\runemacs.exe --init-directory "AppData\Dotfiles\emacs\.emacs.d\"' -n -c --server-file %APPDATA%\Dotfiles\emacs\.emacs.d\server\server
that command starts in
%UserProfile%
ATM, I have as a work around a shortcut to emacscleintw.exe without an -a flag. Before using it, I once have to run:
%UserProfile%\bin\emacs-29.3\bin\runemacs.exe --daemon ----init-directory %APPDATA%\Dotfiles\emacs\.emacs.d\
Obviously, I would rather have to have it all in one place.
And here are the Details, regarding the use of quotes with or without relative path for --init-directory:
For the several options using quotes, I got the following problems, depending on whether I put single or double quoutes for the whole argument or just the path:
Double quotes around the argmument and single quotes for the path, using the full path:
-a "%UserProfile%\bin\emacs-29.3\bin\runemacs.exe --init-directory '%APPDATA%\Dotfiles\emacs\.emacs.d\'"
--> Warning: "Warning (initialization): Unable to create `user-emacs-directory' (c:/Users/gross20/'C:/Users/gross20/AppData/Roaming/Dotfiles/emacs/.emacs.d/'/)."
Single quotes around the argmument and double quotes for the path, using the full path:
-a '%UserProfile%\bin\emacs-29.3\bin\runemacs.exe --init-directory "%APPDATA%\Dotfiles\emacs\.emacs.d\"'
--> Error: Try --help for more information
Double quotes around the argmument and single quotes for the path, using a relative path:
-a "%UserProfile%\bin\emacs-29.3\bin\runemacs.exe --init-directory 'AppData\Roaming\Dotfiles\emacs\.emacs.d\'"
--> Strarts without errors or warning, but the user-emacs-directory is "c:/Users/XXX/'AppData/Roaming/Dotfiles/emacs/.emacs.d/'/" (Note the single quote in the folder name for AppData)
Single quotes around the argmument and single quotes for the path, using a relative path:
-a '%UserProfile%\bin\emacs-29.3\bin\runemacs.exe --init-directory "AppData\Dotfiles\emacs\.emacs.d\"'
--> Error: Try --help for more information
And one additional observation: From my many attempts, related or not, I also got the impression, that I am closer to what I want ommiting the --daemon flag within the argument for the -a flag. However, I need it when linking to runemacs.exe directly.
This is my first bug report to this mailing list, hope it contributes a tiny tiny bit. (:
Best
Jonas
In GNU Emacs 29.3 (build 2, x86_64-w64-mingw32) of 2024-03-24 built on
AVALON
Windowing system distributor 'Microsoft Corp.', version 10.0.19045
System Description: Microsoft Windows 10 Enterprise (v10.0.2009.19045.4894)
Configured using:
'configure --with-modules --without-dbus --with-native-compilation=aot
--without-compress-install --with-sqlite3 --with-tree-sitter
CFLAGS=-O2'
Configured features:
ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XPM ZLIB
(NATIVE_COMP present but libgccjit not available)
Important settings:
value of $LANG: DEU
locale-coding-system: cp1252
Major mode: Org-Agenda Week Ddl Grid
Minor modes in effect:
hl-line-mode: t
server-mode: t
consult-notes-org-headings-mode: t
consult-notes-denote-mode: t
denote-menu-bar-mode: t
eat-eshell-mode: t
shell-dirtrack-mode: t
vertico-mode: t
savehist-mode: t
winner-mode: t
save-place-mode: t
global-auto-revert-mode: t
recentf-mode: t
windmove-mode: t
tooltip-mode: t
global-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
blink-cursor-mode: t
buffer-read-only: t
line-number-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
c:/Users/XXX/Dotfiles/emacs/.emacs.d/elpa/transient-0.7.4/transient hides c:/Users/gross20/bin/emacs-29.3/share/emacs/29.3/lisp/transient
Features:
(shadow sort mail-extr emacsbug mule-util cal-move crm time-stamp tabify
org-datetree org-capture timezone misearch multi-isearch cursor-sensor
hl-line org-duration diary-lib diary-loaddefs cal-iso vc-git diff-mode
easy-mmode vc-dispatcher org-indent oc-basic ol-eww eww url-queue
thingatpt mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect
gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr
pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start
gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 nnoo
parse-time gnus-spec gnus-int gnus-range message sendmail yank-media
puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util
mail-utils range mm-util mail-prsvr ol-docview doc-view jka-compr
image-mode exif ol-bibtex bibtex iso8601 ol-bbdb ol-w3m ol-doi
org-link-doi cl-extra help-mode face-remap org-agenda org-element
org-persist xdg avl-tree server consult-notes-denote
consult-notes-org-headings consult-notes consult-org consult denote
dired dired-loaddefs xref project org-bookmark-heading bookmark pp
mode-local ob-shell ob-R org-attach org-id org-refile org-tempo org ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint
org-pcomplete org-list org-footnote org-faces org-entities time-date
noutline outline icons ob-emacs-lisp ob-core ob-eval org-cycle org-table
ol rx org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu
calendar cal-loaddefs org-compat tempo org-version org-macs format-spec
esh-var esh-mode esh-cmd generator esh-ext esh-opt esh-proc esh-io
esh-arg esh-module esh-groups esh-util files-x eat term ehelp shell
pcomplete color orderless vertico-directory vertico wgrep grep compile
text-property-search comint ansi-osc ansi-color savehist winner ring
saveplace autorevert filenotify recentf tree-widget wid-edit windmove
modus-operandi-theme modus-themes no-littering compat compat-30
finder-inf consult-notes-autoloads consult-recoll-autoloads
consult-autoloads denote-autoloads eat-autoloads elpa-mirror-autoloads
ess-autoloads magit-autoloads pcase git-commit-autoloads
magit-section-autoloads dash-autoloads no-littering-autoloads
orderless-autoloads org-bookmark-heading-autoloads quelpa-autoloads
s-autoloads transient-autoloads vertico-autoloads wgrep-autoloads
with-editor-autoloads info compat-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 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 dos-w32 ls-lisp disp-table
term/w32-win w32-win w32-vars term/common-win 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 w32notify w32 lcms2 multi-tty
make-network-process native-compile emacs)
Memory information:
((conses 16 1381967 381324)
(symbols 48 31590 3)
(strings 32 149124 80555)
(string-bytes 1 4074814)
(vectors 16 79509)
(vector-slots 8 1761299 703656)
(floats 8 492 1171)
(intervals 56 74316 5304)
(buffers 984 16))