Emacs 24.3 на OS X ansi-term без цветове

Имам инсталиран Emacs 24.3 с помощта на homebrew (инсталирах го с --cocoa и --srgb). Всеки път, когато стартирам emacs.app и след това стартирам ansi-term, той няма цветове. Когато обаче направя emacs -q и стартирам приложението, ansi-term има цветове.

Затова си помислих, че може би има нещо объркано в моя init.el файл. Коментирах всичко, все още ansi-term не работи с цветове.

Най-странната част от всичко това е, че с всичко в моя init.el активиран, когато правя emacs -nw и след това правя ansi-term там (знам, объркано, но се опитвам да тествам нещо), то работи идеално добре с всички теми и всички активни добавки. Това е толкова странно, че дори не знам откъде да започна.

Изглежда, че когато приложението работи, то не използва настройките в моя bash_profile. защо го казвам Защото, когато ansi-term работи добре (с emacs -nw), той каза следното: bash: _powerline_prompt: command not found, което означава, че се опитва да зареди електропровода, който съм инсталирал за моя терминал и не знаех какво да правя с него. Току-що деактивирах захранващата линия, за да видя дали това е виновникът и дори това не решава проблема.

Въпреки това, когато ansi-term няма цветове, той не избълва тази линия.

И така, някой има ли представа какво, по дяволите, става? (Може би homebrew emacs.app използва друг .bash_profile?)

Ето моят init.el с деактивирани външни пакети, така че всичко, което е в него, беше зададено автоматично от emacs и пакетите:

;; emacs customizations (automatic)
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(TeX-command-list (quote (("TeX" "%(PDF)%(tex) %`%S%(PDFout)%(mode)%' %t" TeX-run-TeX nil (plain-tex-mode texinfo-mode ams-tex-mode) :help "Run plain TeX") ("LaTeX" "%`%l%(mode)%' %t" TeX-run-TeX nil (latex-mode doctex-mode) :help "Run LaTeX") ("Makeinfo" "makeinfo %t" TeX-run-compile nil (texinfo-mode) :help "Run Makeinfo with Info output") ("Makeinfo HTML" "makeinfo --html %t" TeX-run-compile nil (texinfo-mode) :help "Run Makeinfo with HTML output") ("AmSTeX" "%(PDF)amstex %`%S%(PDFout)%(mode)%' %t" TeX-run-TeX nil (ams-tex-mode) :help "Run AMSTeX") ("ConTeXt" "texexec --once --texutil %(execopts)%t" TeX-run-TeX nil (context-mode) :help "Run ConTeXt once") ("ConTeXt Full" "texexec %(execopts)%t" TeX-run-TeX nil (context-mode) :help "Run ConTeXt until completion") ("BibTeX" "bibtex %s" TeX-run-BibTeX nil t :help "Run BibTeX") ("Biber" "biber %s" TeX-run-Biber nil t :help "Run Biber") ("View" "open -a Preview.app %s.pdf" TeX-run-discard-or-function t t :help "Run Viewer") ("Print" "%p" TeX-run-command t t :help "Print the file") ("Queue" "%q" TeX-run-background nil t :help "View the printer queue" :visible TeX-queue-command) ("File" "%(o?)dvips %d -o %f " TeX-run-command t t :help "Generate PostScript file") ("Index" "makeindex %s" TeX-run-command nil t :help "Create index file") ("Check" "lacheck %s" TeX-run-compile nil (latex-mode) :help "Check LaTeX file for correctness") ("Spell" "(TeX-ispell-document \"\")" TeX-run-function nil t :help "Spell-check the document") ("Clean" "TeX-clean" TeX-run-function nil t :help "Delete generated intermediate files") ("Clean All" "(TeX-clean t)" TeX-run-function nil t :help "Delete generated intermediate and output files") ("Other" "" TeX-run-command t t :help "Run an arbitrary command"))))
 '(ansi-color-faces-vector [default bold shadow italic underline bold bold-italic bold])
 '(ansi-color-names-vector ["#fdf6e3" "#dc322f" "#859900" "#b58900" "#268bd2" "#d33682" "#2aa198" "#657b83"])
 '(ansi-term-color-vector [unspecified "#1F1611" "#660000" "#144212" "#EFC232" "#5798AE" "#BE73FD" "#93C1BC" "#E6E1DC"])
 '(compilation-message-face (quote default))
 '(custom-safe-themes (quote ("e16a771a13a202ee6e276d06098bc77f008b73bbac4d526f160faa2d76c1dd0e" "bbd99b10462e3d0f4ac6da09e23e5de1fed4f7fe87d679a6468a14b0b6c8e634" "77bd459212c0176bdf63c1904c4ba20fce015f730f0343776a1a14432de80990" "ccba14aeee25adc49effe868f1820dfbf28b557353e4f69ca55de50642caf63f" "a30d5f217d1a697f6d355817ac344d906bb0aae3e888d7abaa7595d5a4b7e2e3" "290987f8b1cbe93977fc21403c1e9bdc95013cb0cf29d0f6120768463ee61442" "0d19ff470ad7029d2e1528b3472ca2d58d0182e279b9ab8acd65e2508845d2b6" "9a217ee1dcefd5e83f78381c61e25e9c4d25c7b80bf032f44d7d62ca68c6a384" "96efbabfb6516f7375cdf85e7781fe7b7249b6e8114676d65337a1ffe78b78d9" "c1fb68aa00235766461c7e31ecfc759aa2dd905899ae6d95097061faeb72f9ee" "7feeed063855b06836e0262f77f5c6d3f415159a98a9676d549bfeb6c49637c4" "c739f435660ca9d9e77312cbb878d5d7fd31e386a7758c982fa54a49ffd47f6e" "fc2782b33667eb932e4ffe9dac475f898bf7c656f8ba60e2276704fabb7fa63b" "ca229a0a89717c8a6fe5cd580ee2a85536fbafce6acb107d33cf38d52e2f492c" "5bd5af0deb1ab0e2c1b9c54d94a3f030529b6c7034fdf0d3cc4b0e7e0338cb91" "c27b3d858a9c033b93f9447337659d3ba34a72251b794e8bfe792ed722cc1f67" "2affb26fb9a1b9325f05f4233d08ccbba7ec6e0c99c64681895219f964aac7af" "65ae93029a583d69a3781b26044601e85e2d32be8f525988e196ba2cb644ce6a" "c4e6fe8f5728a5d5fd0e92538f68c3b4e8b218bcfb5e07d8afff8731cc5f3df0" "758da0cfc4ecb8447acb866fb3988f4a41cf2b8f9ca28de9b21d9a68ae61b181" "5bee853b49605401494a6574d1c5a991a0d75e86fedf5ad9a1577de6cbba7691" "f0ea6118d1414b24c2e4babdc8e252707727e7b4ff2e791129f240a2b3093e32" "9370aeac615012366188359cb05011aea721c73e1cb194798bc18576025cabeb" "0e121ff9bef6937edad8dfcff7d88ac9219b5b4f1570fd1702e546a80dba0832" "968d1ad07c38d02d2e5debffc5638332696ac41af7974ade6f95841359ed73e3" "d070fa185078bf753dcfd873ec63be19fa36a55a0c97dc66848a6d20c5fffdad" "d677ef584c6dfc0697901a44b885cc18e206f05114c8a3b7fde674fce6180879" "8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" "92653253cdebc448ad0b8b2ba08c6bd87c8af5d8d1c346f86fb4029a1f46a716" default)))
 '(fci-rule-character-color "#452E2E")
 '(fci-rule-color "#eee8d5")
 '(fringe-mode 6 nil (fringe))
 '(highlight-changes-colors (quote ("#d33682" "#6c71c4")))
 '(highlight-tail-colors (quote (("#eee8d5" . 0) ("#B4C342" . 20) ("#69CABF" . 30) ("#69B7F0" . 50) ("#DEB542" . 60) ("#F2804F" . 70) ("#F771AC" . 85) ("#eee8d5" . 100))))
 '(linum-format " %7d ")
 '(magit-diff-use-overlays nil)
 '(main-line-color1 "#191919")
 '(main-line-color2 "#111111")
 '(package-archives (quote (("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.milkbox.net/packages/"))))
 '(syslog-debug-face (quote ((t :background unspecified :foreground "#2aa198" :weight bold))))
 '(syslog-error-face (quote ((t :background unspecified :foreground "#dc322f" :weight bold))))
 '(syslog-hour-face (quote ((t :background unspecified :foreground "#859900"))))
 '(syslog-info-face (quote ((t :background unspecified :foreground "#268bd2" :weight bold))))
 '(syslog-ip-face (quote ((t :background unspecified :foreground "#b58900"))))
 '(syslog-su-face (quote ((t :background unspecified :foreground "#d33682"))))
 '(syslog-warn-face (quote ((t :background unspecified :foreground "#cb4b16" :weight bold))))
 '(vc-annotate-background nil)
 '(vc-annotate-color-map (quote ((20 . "#dc322f") (40 . "#CF4F1F") (60 . "#C26C0F") (80 . "#b58900") (100 . "#AB8C00") (120 . "#A18F00") (140 . "#989200") (160 . "#8E9500") (180 . "#859900") (200 . "#729A1E") (220 . "#609C3C") (240 . "#4E9D5B") (260 . "#3C9F79") (280 . "#2aa198") (300 . "#299BA6") (320 . "#2896B5") (340 . "#2790C3") (360 . "#268bd2"))))
 '(vc-annotate-very-old-color nil)
 '(weechat-color-list (quote (unspecified "#fdf6e3" "#eee8d5" "#990A1B" "#dc322f" "#546E00" "#859900" "#7B6000" "#b58900" "#00629D" "#268bd2" "#93115C" "#d33682" "#00736F" "#2aa198" "#657b83" "#839496"))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

person nico_c    schedule 23.01.2014    source източник
comment
Може би опитайте да поставите курсора върху символ в прозореца на ansi-term, за който знаете, че трябва да има цветове, но не, и напишете: C-u C-x = и вижте какви лица се използват на това конкретно място (ако има такива). Вместо да използвате Homebrew, обмислете използването на: emacsformacosx.com - по този начин всичко, свързано с Emacs, е пакетирано в едно приложение вместо да са разпръснати из твърдия ви диск -- единственото друго място, за което да се тревожите, е вашият .emacs.d.   -  person lawlist    schedule 23.01.2014
comment
@lawlist Благодаря. C-u C-x = продължаваше да се връща към подканата и не показваше информация за лица. Прав си за използването на emacsformacosx.com. Просто си помислих, че ще бъде лесно да се актуализира с Homebrew. Опитвам се да си спестя малко болка, но изглежда, че добавям още към това. :-)   -  person nico_c    schedule 24.01.2014


Отговори (2)


Това може да е хак, но поправих проблема, като копирах моя .bash_profile в .bashrc (така че имам и .bash_profile, и .bashrc).

Ако стартирам Emacs.app от Terminal.app, той чете моя .bash_profile. И когато го стартирам, като щракна върху иконата на Emacs в папката Applications, той чете моя .bashrc. Не знам дали това е нормално поведение или не, но за моите цели работи перфектно, тъй като премахнах захранващата линия от .bashrc, така че ansi-term не продължава да хвърля грешки за това.

Като цяло, много проста корекция, от която се надявам и други да се възползват.

person nico_c    schedule 23.01.2014
comment
Радвам се, че успяхте да го поправите, поздравления! Защо не приемете това като отговор? - person ; 24.01.2014
comment
@IqbalAnsari Мога да приема собствения си отговор след 24 часа след публикуването му. Все още имам време, преди да мога да го направя :-) - person nico_c; 24.01.2014

Изглежда, че когато приложението работи, то не използва настройките в моя bash_profile

Вярвам, че това е проблемът, изглежда, че emacs, когато се стартира като приложение (т.е. не от обвивката), не взема правилния PATH. Това обяснява защо ansi-term има цветове, когато emacs се стартира от шел (правя разумно предположение, че сте изпълнили emacs -q и emacs -nw от шел :)).

Вижте това за възможно решение. Може да намерите това също полезно.

person Community    schedule 23.01.2014
comment
Опитах това. Това не решава проблема. Засега преминавам към стартиране на emacs от терминала, докато някой не предложи решение. Междувременно пробвах кода от тук: paste.lisp.org/display/132476 го записах във файл и го заредих в моя init.el. Наречете функцията така (setenv-from-shell-environment) Знаете ли как всъщност да използвате това? Както можете да видите вероятно, аз съм нуб в emacs и lisp. И наистина имам emacs pinky сега... - person nico_c; 24.01.2014
comment
Вие използвате функцията (setenv-from-shell-environment) правилно. Той просто получава променливите на средата от вашата обвивка и ги задава в emacs. - person ; 24.01.2014