unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#73728: 29.3; Specifing an --alternate-editor for emacscleintw.exe with custom --init-directory does not work on Windows
@ 2024-10-10  6:56 Jonas Großekathöfer via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-10-10 11:39 ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Jonas Großekathöfer via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-10-10  6:56 UTC (permalink / raw)
  To: 73728

[-- Attachment #1: Type: text/plain, Size: 9090 bytes --]

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))

[-- Attachment #2: Type: text/html, Size: 10424 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#73728: 29.3; Specifing an --alternate-editor for emacscleintw.exe with custom --init-directory does not work on Windows
  2024-10-10  6:56 bug#73728: 29.3; Specifing an --alternate-editor for emacscleintw.exe with custom --init-directory does not work on Windows Jonas Großekathöfer via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-10-10 11:39 ` Eli Zaretskii
  2024-10-10 12:32   ` Jonas Großekathöfer via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2024-10-10 11:39 UTC (permalink / raw)
  To: Jonas Großekathöfer; +Cc: 73728

> Date: Thu, 10 Oct 2024 08:56:43 +0200
> From:  Jonas Großekathöfer via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> 
> 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\"

Can you explain why you need a custom --init-directory in that case?

> 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

Don't use single quotes, they are not supported by Windows.

But I admit I don't understand why you needed nested quotes at all.
What happens if you use double quotes around the entire argument of
the -a option?





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#73728: 29.3; Specifing an --alternate-editor for emacscleintw.exe with custom --init-directory does not work on Windows
  2024-10-10 11:39 ` Eli Zaretskii
@ 2024-10-10 12:32   ` Jonas Großekathöfer via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-10-10 13:23     ` Eli Zaretskii
  2024-10-10 17:58     ` Sebastián Monía
  0 siblings, 2 replies; 10+ messages in thread
From: Jonas Großekathöfer via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-10-10 12:32 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 73728

[-- Attachment #1: Type: text/plain, Size: 4951 bytes --]

Am 2024-10-10 13:39, schrieb Eli Zaretskii:

>> Date: Thu, 10 Oct 2024 08:56:43 +0200
>> From:  Jonas Großekathöfer via "Bug reports for GNU Emacs,
>> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>> 
>> 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\"
> 
> Can you explain why you need a custom --init-directory in that case?

Quality of life improvement: I have my configs online in a git-repo. I 
manage the dotfiles on my Linux machine with stow. On my Windows machine 
I want Emacs to follow that structure. As such I want to link to the 
config via --init-directory, so that I can place the Dotfiles-Folder 
where ever I want. However, I can't place the Dotfiles folder so, that 
the ".emacs.d/"-folder ends up under the parent "~/" as well.

I already tried a route via tangling to different targets for Linux and 
Windows. But that introduced other problems... so I decided to follow 
this route. Seems the most straightforward to me actually. For the start 
I decided to place it under "~/" on Windows as well. As such I ended up 
with that specific location. But AFAICT my problem is location agnostic.

I am open to suggestions if I am missing the super obvious solution 
here. (:

>> 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
> 
> Don't use single quotes, they are not supported by Windows.
> 
> But I admit I don't understand why you needed nested quotes at all.
> What happens if you use double quotes around the entire argument of
> the -a option?

Do you mean like how in the first example I gave?

-a "%UserProfile%\bin\emacs-29.3\bin\runemacs.exe --init-directory 
%AppData%\Dotfiles\emacs\.emacs.d\"

That one gives "file name or Argument required. Try --help"

Best
Jonas

[-- Attachment #2: Type: text/html, Size: 7057 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#73728: 29.3; Specifing an --alternate-editor for emacscleintw.exe with custom --init-directory does not work on Windows
  2024-10-10 12:32   ` Jonas Großekathöfer via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-10-10 13:23     ` Eli Zaretskii
       [not found]       ` <9a27c88f6c98477d1a6bd2b944a93ba0@purelymail.com>
       [not found]       ` <91f8c7d28fa5981019ae2aea0dccb3ab@purelymail.com>
  2024-10-10 17:58     ` Sebastián Monía
  1 sibling, 2 replies; 10+ messages in thread
From: Eli Zaretskii @ 2024-10-10 13:23 UTC (permalink / raw)
  To: Jonas Großekathöfer; +Cc: 73728

> Date: Thu, 10 Oct 2024 14:32:30 +0200
> From: Jonas Großekathöfer <jonas@grszkth.fr>
> Cc: 73728@debbugs.gnu.org
> 
>  Can you explain why you need a custom --init-directory in that case?
>  
> Quality of life improvement: I have my configs online in a git-repo. I manage the dotfiles on my Linux machine
> with stow. On my Windows machine I want Emacs to follow that structure. As such I want to link to the config
> via --init-directory, so that I can place the Dotfiles-Folder where ever I want. However, I can't place the
> Dotfiles folder so, that the ".emacs.d/"-folder ends up under the parent "~/" as well.

Then you need to be aware that --init-directory does NOT replace your
user home directory for all purposes.  See the description of what
this does in the Emacs user manual for details.

> I already tried a route via tangling to different targets for Linux and Windows. But that introduced other
> problems... so I decided to follow this route. Seems the most straightforward to me actually. For the start I
> decided to place it under "~/" on Windows as well. As such I ended up with that specific location. But AFAICT
> my problem is location agnostic.
>  
> I am open to suggestions if I am missing the super obvious solution here. (:

Why not load a specific file from your usual .emacs instead?  If that
avoids the need to quote stuff in complex ways, it's a net win for
you.

>  Don't use single quotes, they are not supported by Windows.
> 
>  But I admit I don't understand why you needed nested quotes at all.
>  What happens if you use double quotes around the entire argument of
>  the -a option?
> 
>  
> Do you mean like how in the first example I gave?
>  
> -a "%UserProfile%\bin\emacs-29.3\bin\runemacs.exe --init-directory %AppData%\Dotfiles\emacs\.emacs.d\"
>  
> That one gives "file name or Argument required. Try --help"

First, remove the last backslash before the closing quote" it prevents
the closing quote from being recognized.  And if that doesn't help,
maybe we have a real bug.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#73728: 29.3; Specifing an --alternate-editor for emacscleintw.exe with custom --init-directory does not work on Windows
  2024-10-10 12:32   ` Jonas Großekathöfer via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-10-10 13:23     ` Eli Zaretskii
@ 2024-10-10 17:58     ` Sebastián Monía
  2024-10-10 18:12       ` Eli Zaretskii
  1 sibling, 1 reply; 10+ messages in thread
From: Sebastián Monía @ 2024-10-10 17:58 UTC (permalink / raw)
  To: Jonas Großekathöfer; +Cc: 73728, Eli Zaretskii


Jonas Großekathöfer <jonas@grszkth.fr> writes:  
>  Quality of life improvement: I have my configs online in a git-repo. I manage the dotfiles on my Linux machine with stow. On my Windows machine I want
>  Emacs to follow that structure. As such I want to link to the config via --init-directory, so that I can place the Dotfiles-Folder where ever I want. However,
>  I can't place the Dotfiles folder so, that the ".emacs.d/"-folder ends up under the parent "~/" as well.

>  I am open to suggestions if I am missing the super obvious solution here. (:

I am using a "junction" to link ~/.emacs.d to the directory where I
cloned my Emacs config. I don't know if that helps.
Unlike symlinks, junctions don't need admin rights.

-- 
Sebastián Monía
https://site.sebasmonia.com/





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#73728: 29.3; Specifing an --alternate-editor for emacscleintw.exe with custom --init-directory does not work on Windows
  2024-10-10 17:58     ` Sebastián Monía
@ 2024-10-10 18:12       ` Eli Zaretskii
  2024-10-10 18:23         ` Sebastián Monía
       [not found]         ` <8A03740D-08EA-4AA5-A124-D1DA942A3E25@grszkth.fr>
  0 siblings, 2 replies; 10+ messages in thread
From: Eli Zaretskii @ 2024-10-10 18:12 UTC (permalink / raw)
  To: Sebastián Monía; +Cc: 73728, jonas

> From: Sebastián Monía <sebastian@sebasmonia.com>
> Cc: Eli Zaretskii <eliz@gnu.org>,  73728@debbugs.gnu.org
> Date: Thu, 10 Oct 2024 13:58:57 -0400
> 
> 
> Jonas Großekathöfer <jonas@grszkth.fr> writes:  
> >  Quality of life improvement: I have my configs online in a git-repo. I manage the dotfiles on my Linux machine with stow. On my Windows machine I want
> >  Emacs to follow that structure. As such I want to link to the config via --init-directory, so that I can place the Dotfiles-Folder where ever I want. However,
> >  I can't place the Dotfiles folder so, that the ".emacs.d/"-folder ends up under the parent "~/" as well.
> 
> >  I am open to suggestions if I am missing the super obvious solution here. (:
> 
> I am using a "junction" to link ~/.emacs.d to the directory where I
> cloned my Emacs config. I don't know if that helps.
> Unlike symlinks, junctions don't need admin rights.

Why not simply change the directory to which the HOME variable points?





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#73728: 29.3; Specifing an --alternate-editor for emacscleintw.exe with custom --init-directory does not work on Windows
  2024-10-10 18:12       ` Eli Zaretskii
@ 2024-10-10 18:23         ` Sebastián Monía
       [not found]         ` <8A03740D-08EA-4AA5-A124-D1DA942A3E25@grszkth.fr>
  1 sibling, 0 replies; 10+ messages in thread
From: Sebastián Monía @ 2024-10-10 18:23 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 73728, jonas



Eli Zaretskii <eliz@gnu.org> writes:
> Why not simply change the directory to which the HOME variable points?

My dotfiles repository has more things I don't need/want in my Windows
HOME. But I did that in the past too, yes.

-- 
Sebastián Monía
https://site.sebasmonia.com/





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#73728: 29.3; Specifing an --alternate-editor for emacscleintw.exe with custom --init-directory does not work on Windows
       [not found]         ` <8A03740D-08EA-4AA5-A124-D1DA942A3E25@grszkth.fr>
@ 2024-10-10 18:32           ` Eli Zaretskii
  0 siblings, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2024-10-10 18:32 UTC (permalink / raw)
  To: Jonas Großekathöfer; +Cc: 73728, sebastian

> From: Jonas Großekathöfer <jonas@grszkth.fr>
> Date: Thu, 10 Oct 2024 20:27:46 +0200
> Cc: Sebastián Monía <sebastian@sebasmonia.com>,
>  73728@debbugs.gnu.org
> 
> Can‘t Test test your suggestions right now. But as Sebastian suggests, I need a solution that does not involve admin rights. If I can use environment variables I could also try the ALTERNATE_EDITOR one…

AFAIK, setting environment variables for your user (as opposed to
system-wide) does not need admin rights.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#73728: 29.3; Specifing an --alternate-editor for emacscleintw.exe with custom --init-directory does not work on Windows
       [not found]       ` <9a27c88f6c98477d1a6bd2b944a93ba0@purelymail.com>
@ 2024-10-14 14:09         ` Eli Zaretskii
  0 siblings, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2024-10-14 14:09 UTC (permalink / raw)
  To: Jonas Großekathöfer; +Cc: 73728-done

> Date: Mon, 14 Oct 2024 10:14:45 +0200
> From: Jonas Großekathöfer <jonas@grszkth.fr>
> Cc: 73728@debbugs.gnu.org
> 
>  Do you mean like how in the first example I gave?
>   
>  -a "%UserProfile%\bin\emacs-29.3\bin\runemacs.exe --init-directory
>  %AppData%\Dotfiles\emacs\.emacs.d\"
>   
>  That one gives "file name or Argument required. Try --help"
> 
>  First, remove the last backslash before the closing quote" it prevents
>  the closing quote from being recognized.  And if that doesn't help,
>  maybe we have a real bug.
>   
>  
> That was it! Thank you, it's working now. (:

Thanks, I'm therefore closing this non-bug.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#73728: 29.3; Specifing an --alternate-editor for emacscleintw.exe with custom --init-directory does not work on Windows
       [not found]       ` <91f8c7d28fa5981019ae2aea0dccb3ab@purelymail.com>
@ 2024-10-14 14:13         ` Eli Zaretskii
  0 siblings, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2024-10-14 14:13 UTC (permalink / raw)
  To: Jonas Großekathöfer; +Cc: 73728

> Date: Mon, 14 Oct 2024 11:08:05 +0200
> From: Jonas Großekathöfer <jonas@grszkth.fr>
> Cc: 73728@debbugs.gnu.org
> 
> Am 2024-10-10 15:23, schrieb Eli Zaretskii:
> 
>  Then you need to be aware that --init-directory does NOT replace your
>  user home directory for all purposes.  See the description of what
>  this does in the Emacs user manual for details.
> 
>  
> Thank you, for the information.
>  
> I had a look at the manual. Can you point me to the section you are referring to? I couldn't find anything
> meaningful in that regard. "C.2 Initial Options" is the only page (besides Antinews and an Index) where I find
> "--init-directory" mentioned. On top, I read some more pages like "50.4.4 How Emacs Finds Your Init File", but
> this includes no description or comments with regard to the --init-directory.

Here's the text in the manual (its latest version for Emacs 30):

  ‘--init-directory’
       Specify the directory to use when looking for the Emacs init files.
       Note that this merely overrides the value of
       ‘user-emacs-directory’, the directory which Emacs usually
       determines as side effect of searching for your init file (*note
       Find Init::), but does not change the search for the ‘~/.emacs’
       init file.  In particular, if there's no ‘init.el’ file in the
       directory named by this option, Emacs will find and use ‘init.el’
       it would have used without this option (but will search for your
       other per-user Emacs files in the directory specified by this
       option).  If you want to force Emacs to use ‘init.el’ file in this
       directory, make sure it exists there before starting Emacs with
       this option.

If this is unclear, feel free to ask specific questions.





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-10-14 14:13 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-10  6:56 bug#73728: 29.3; Specifing an --alternate-editor for emacscleintw.exe with custom --init-directory does not work on Windows Jonas Großekathöfer via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-10 11:39 ` Eli Zaretskii
2024-10-10 12:32   ` Jonas Großekathöfer via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-10 13:23     ` Eli Zaretskii
     [not found]       ` <9a27c88f6c98477d1a6bd2b944a93ba0@purelymail.com>
2024-10-14 14:09         ` Eli Zaretskii
     [not found]       ` <91f8c7d28fa5981019ae2aea0dccb3ab@purelymail.com>
2024-10-14 14:13         ` Eli Zaretskii
2024-10-10 17:58     ` Sebastián Monía
2024-10-10 18:12       ` Eli Zaretskii
2024-10-10 18:23         ` Sebastián Monía
     [not found]         ` <8A03740D-08EA-4AA5-A124-D1DA942A3E25@grszkth.fr>
2024-10-10 18:32           ` Eli Zaretskii

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).