it is my first time asking question here. I am a college sophomore. I am taking a Matlab course this semester and find Octave an alternative so I get that installed through Homebrew in my Mac.
The problem is that Octave doesn't seem to be compatible with emacs (or saying, lots of bugs?). First of all, functions like clc, clean won't work in Emacs (by running M-x run-octave) while it works in the terminal. Also, I was trying to make plotting work but whenever I tried to plot in Emacs, they say "no graphics toolkits are available!," further verified by typing "available_graphics_toolkits" and they shown nothing. The strange thing is that if I run the same line "available_graphics_toolkits" in the terminal, gnuplot does shown up. It seems like I get everything set up but Emacs just somehow doesn't recognize it. I have done research online but still problem not solved. Here are some screenshots: [My OS version] [need at least 10 reputation :(] OSX El Capitain Version 10.11.3
[Octave settings in ~/.emacs] [need at least 10 reputation :(]
;Manipulating the Load Path for Octave
(setq inferior-octave-program "/usr/local/bin/octave")
;Fix the frezze error
(setq inferior-octave-prompt ">> ")
;Fix can't find the program error
(add-to-list 'load-path "/usr/local/bin/gnuplot")
;Octave Settings
;using Octave mode for all .m files you visit
(setq auto-mode-alist
(cons '("\\.m$" . octave-mode) auto-mode-alist))
;turn on the abbrevs, auto-fill and font-lock features automatically
(add-hook 'octave-mode-hook
(lambda ()
(abbrev-mode 1)
(auto-fill-mode 1)
(if (eq window-system 'x)
(font-lock-mode 1))))
Let me know for any further information and feel free to give me advises on how to make my question better. Thank you so much.
UPDATE1: Tried installing the package exec-path-from-shell as Dan suggested, doesn't seem to work.
UPDATE2: UPDATE1 actually work after I put those lines in to ~/.emacs instead of ~/.emacs.d/init.el Now the only thing that is bugging me is the clc command still doesn't work. Any ideas?
exec-path-from-shell
package to deal with that problem (which you can do via the Emacs package manager:M-x list-packages
).process-environment
.env DISPLAY
in a shell. Then you can do add(add-to-list process-environment "DISPLAY=xxx")
wherexxx
is the value of the variable, e.g.127.0.0.1:0
.