Emacs running under Cygwin is perfectly usable and very functional when programming in Julia.
It has been tested under Windows 10. Evaluation of code in files, interactive REPL, git, tags, multiple cursors, snippets, abbreviations and clever expansions, bookmarks, and more is available.
You are undoubtedly correct, and switching over to a manner of installation which will draw in the latest versions and track updates will eventually be incorporated.
Current difficulties:
For someone who is installing Emacs perhaps for the first time, configuration from scratch is a bit daunting. It is hard to beat unzipping a preconfigured .emacs.d folder.
Some packages are frozen (multiple-cursors being one of them). Some parts (snippets, ctags)
are not that easily installed from the Web in an automatic way.
Updating the packages that are distributed with the preconfigured .emacs.d folder is still possible using package-list-packages. Which is indubitably what more advanced users will do.
Updating by package installation from MELPA is not confidence-inspiring:
By the way, if you have some ideas on how to configure Emacs automatically, starting from scratch, without user intervention, Iâm all ears.
As always, I truly appreciate your help with things Julia (and Emacs).
My elisp skills are not as good as Tamas_papp 's, but I think the following code in âinit.elâ should install use-package and julia-mode without user intervention.
In general using use-package with :ensure t option should install the package, so you could use it in order to have all the packages you need installed without user intervention.
(require 'package)
(setq-default
package-enable-at-startup nil)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
;; install use-package if not installed
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package t))
;; install julia-mode
(use-package julia-mode
:ensure t
:config
;; some config for julia-mode here
)
That is most excellent! The guide was updated to use automatic installation (with attribution: please check to see if youâre happy).
Everyone: please test. I did, but more people, more bugs found.
Note that I also copied part of this code from someone elseâs config at some point (not sure where) so I donât know if this should be attributed to me : )
p.s.
Is there a reason you are not using magit instead of CLI git? In case you were unaware of magit I would definitely suggest giving it a go because itâs quite amazing in my opinion.
Iâve tried magit. It could be that I was running it under emacs-w32, but commit wouldnât work: there was an error concerning emacsclient and I never got it to work.
This was obtained with the X11 Emacs. Previously I have seen this with the w32 Emacs.
I have tried to research this a bit, but I couldnât find any solution and I got stuck.
The problem with WSL graphic programs is that they do not get recognized as individual applications,
and the voice recognition program that I use cannot associate command sets with them. That is a dealbreaker for me.
The same problem actually occurs also with Emacs-X11 running under cygwin. And with other graphics programs that need the X server to be running.
Finally, at least under cygwin running the X server is extremely resource-hungry. Things simply slow down to a crawl. Emacs-w32 does not have that problem at all.
Please note that because of your voice recognition program you may have unique constraints that donât apply to the majority of users.
It would be great to have reports from users of Windows, Emacs, julia-mode and julia-repl in a plain vanilla environment without any of these complications; I imagine that simply having examples of what works would help some users greatly.
Re âplain-vanilla environmentâ (read âno voice recognitionâ): both the X11 and the Windows-GUI Emacsen work just fine under cygwin, but the Windows version is noticeably snappier. There is no issue with the Julia modes with either one.
Maybe the issue is that Magit is having some trouble with finding the correct binary for emacsclient? When you do which emacsclient, do you get /usr/bin/emacsclient ?
File Edit Options Buffers Tools Magit YASnippet Help
1 git ⌠commit --
/usr/bin/emacsclient --socket-name=/tmp/emacs197609/server: /usr/bin/emacsclient: No such file or directory
error: There was a problem with the editor '/usr/bin/emacsclient --socket-name=/tmp/emacs197609/server'.
Please supply the message using either -m or -F option.
Which is weird because this is what I get when running it at the command line:
PK@Pigwidgeon ~
$ /usr/bin/emacsclient
/usr/bin/emacsclient: file name or argument required
Try '/usr/bin/emacsclient --help' for more information
Iâm not doubting that it doesnât work on your machine. I was just saying that it seems that there are people out there using it with cygwin so it should be possible in principle (it could also be that what you are seeing is an issue with magit, I donât know). I personally find the knowledge that someone else could make something work encouraging when dealing with those kind of problems, thatâs why I pointed it out.
If you are interested you might want to open an issue in the magit repo. Seems people opened similar issues in the past and they got resolved.
I think they also need the output of M-x with-editor-debug to debug this problem (if I understand correctly).
The issue has been resolved: the problem was the substitution of the Windows git for the one expected by Emacs under cygwin. So now magit works fine and the guide has been switched over to it.