Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP Replace flymake with flycheck #224

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

WIP Replace flymake with flycheck #224

wants to merge 2 commits into from

Conversation

tonini
Copy link
Collaborator

@tonini tonini commented Nov 26, 2014

No description provided.

@senny
Copy link
Owner

senny commented Nov 26, 2014

just checked out the branch and ran scripts/update.sh. Can't boot up Emacs anymore. I'm left with:

Debugger entered--Lisp error: (file-error "Cannot open load file" "no such file or directory" "dash")
  require(dash)
  eval-buffer(#<buffer  *load*-445247> nil "/Users/senny/Projects/cabbage/vendor/flycheck/flycheck.el" nil t)  ; Reading at buffer position 1893
  load-with-code-conversion("/Users/senny/Projects/cabbage/vendor/flycheck/flycheck.el" "/Users/senny/Projects/cabbage/vendor/flycheck/flycheck.el" nil t)
  require(flycheck)
  (progn (add-to-list (quote load-path) library-dir) (require library))
  (if (and library-dir (file-directory-p library-dir)) (progn (add-to-list (quote load-path) library-dir) (require library)))
  (let* ((library-dir (cabbage-vendor-library-dir library))) (if (and library-dir (file-directory-p library-dir)) (progn (add-to-list (quote load-path) library-dir) (require library))))
  cabbage-vendor(flycheck)
  eval-buffer(#<buffer  *load*-42617> nil "/Users/senny/Projects/cabbage/bundles/flycheck/bundle.el" nil t)  ; Reading at buffer position 27
  load-with-code-conversion("/Users/senny/Projects/cabbage/bundles/flycheck/bundle.el" "/Users/senny/Projects/cabbage/bundles/flycheck/bundle.el" t nil)
  load("/Users/senny/Projects/cabbage/bundles/flycheck/bundle" t)
  (while --dolist-tail-- (setq bundle-path (car --dolist-tail--)) (load bundle-path t) (setq --dolist-tail-- (cdr --dolist-tail--)))
  (let ((--dolist-tail-- (cabbage--bundle-path bundle)) bundle-path) (while --dolist-tail-- (setq bundle-path (car --dolist-tail--)) (load bundle-path t) (setq --dolist-tail-- (cdr --dolist-tail--))))
  (progn (let ((--dolist-tail-- (cabbage--bundle-path bundle)) bundle-path) (while --dolist-tail-- (setq bundle-path (car --dolist-tail--)) (load bundle-path t) (setq --dolist-tail-- (cdr --dolist-tail--)))))
  cabbage--load-bundle-internal(flycheck)
  (let ((bundle-name (cabbage--bundle-name bundle))) (if (member bundle-name cabbage--deprecated-bundles) (progn (warn (concat "the bundle '" bundle-name "' is deprecated. We are planning to remove the bundle in future versions of cabbage")))) (cabbage--load-bundle-internal bundle))
  cabbage-load-bundle(flycheck)
  cabbage-flycheck-init()
  (progn (cabbage-flycheck-init) (add-hook (quote erlang-mode-hook) (quote flycheck-mode)) (add-hook (quote erlang-mode-hook) (quote cabbage-flycheck-keybindings)))
  (if (cabbage-flycheck-active-p) (progn (cabbage-flycheck-init) (add-hook (quote erlang-mode-hook) (quote flycheck-mode)) (add-hook (quote erlang-mode-hook) (quote cabbage-flycheck-keybindings))))
  eval-buffer(#<buffer  *load*-816965> nil "/Users/senny/Projects/cabbage/bundles/erlang/bundle.el" nil t)  ; Reading at buffer position 798
  load-with-code-conversion("/Users/senny/Projects/cabbage/bundles/erlang/bundle.el" "/Users/senny/Projects/cabbage/bundles/erlang/bundle.el" t nil)
  load("/Users/senny/Projects/cabbage/bundles/erlang/bundle" t)
  (while --dolist-tail-- (setq bundle-path (car --dolist-tail--)) (load bundle-path t) (setq --dolist-tail-- (cdr --dolist-tail--)))
  (let ((--dolist-tail-- (cabbage--bundle-path bundle)) bundle-path) (while --dolist-tail-- (setq bundle-path (car --dolist-tail--)) (load bundle-path t) (setq --dolist-tail-- (cdr --dolist-tail--))))
  (progn (let ((--dolist-tail-- (cabbage--bundle-path bundle)) bundle-path) (while --dolist-tail-- (setq bundle-path (car --dolist-tail--)) (load bundle-path t) (setq --dolist-tail-- (cdr --dolist-tail--)))))
  cabbage--load-bundle-internal(erlang)
  (let ((bundle-name (cabbage--bundle-name bundle))) (if (member bundle-name cabbage--deprecated-bundles) (progn (warn (concat "the bundle '" bundle-name "' is deprecated. We are planning to remove the bundle in future versions of cabbage")))) (cabbage--load-bundle-internal bundle))
  cabbage-load-bundle(erlang)
  (while --dolist-tail-- (setq bundle (car --dolist-tail--)) (cabbage-load-bundle bundle) (setq --dolist-tail-- (cdr --dolist-tail--)))
  (let ((--dolist-tail-- cabbage-bundles) bundle) (while --dolist-tail-- (setq bundle (car --dolist-tail--)) (cabbage-load-bundle bundle) (setq --dolist-tail-- (cdr --dolist-tail--))))
  (progn (let ((--dolist-tail-- cabbage-bundles) bundle) (while --dolist-tail-- (setq bundle (car --dolist-tail--)) (cabbage-load-bundle bundle) (setq --dolist-tail-- (cdr --dolist-tail--)))))
  eval-buffer(#<buffer  *load*-742637> nil "/Users/senny/Projects/cabbage/cabbage.el" nil t)  ; Reading at buffer position 1552
  load-with-code-conversion("/Users/senny/Projects/cabbage/cabbage.el" "/Users/senny/Projects/cabbage/cabbage.el" nil nil)
  load("/Users/senny/Projects/cabbage/cabbage")
  eval-buffer(#<buffer  *load*> nil "/Users/senny/.emacs.d/init.el" nil t)  ; Reading at buffer position 1221
  load-with-code-conversion("/Users/senny/.emacs.d/init.el" "/Users/senny/.emacs.d/init.el" t t)
  load("/Users/senny/.emacs.d/init" t t)
  #[0 "�\205\262�   \306=\203��\307�\310Q\202;� \311=\204��\307�\312Q\202;�\313\307\314\315#\203*�\316\202;�\313\307\314\317#\203:�\320\nB�\321\202;�\316\322�\323�\322\211#\210�\322=\203a�\324\325\326\307�\327Q!\"\323�\322\211#\210�\322=\203`���\210�\203\243�\330�!\331\232\203\243�\332�!\211\333P\334�!\203}�\211\202\210�\334�!\203\207��\202\210�\314\262��\203\241�\335��\"\203\237�\336\337��#\210\340\341!\210��\266�\f?\205\260�\314�\323\342\322\211#)\262�\207" [init-file-user system-type delayed-warnings-list user-init-file inhibit-default-init inhibit-startup-screen ms-dos "~" "/_emacs" windows-nt "/.emacs" directory-files nil "^\\.emacs\\(\\.elc?\\)?$" "~/.emacs" "^_emacs\\(\\.elc?\\)?$" (initialization "`_emacs' init file is deprecated, please use `.emacs'") "~/_emacs" t load expand-file-name "init" file-name-as-directory "/.emacs.d" file-name-extension "elc" file-name-sans-extension ".el" file-exists-p file-newer-than-file-p message "Warning: %s is newer than %s" sit-for 1 "default"] 7 "\n\n(fn)"]()
  command-line()
  normal-top-level()

@tonini
Copy link
Collaborator Author

tonini commented Nov 26, 2014

I just want to push a WIP branch. :-)

@tonini
Copy link
Collaborator Author

tonini commented Nov 26, 2014

But I see whats the problem is. Because we just add package to vendor we would like to use, we have to add the dependencies by our self. package would solve these dependencies for use via package-install.

Maybe we should think about that. Why do we lock packages via vendor? What would happened if we just work with package itself instead adding them as submodule. etc

@senny
Copy link
Owner

senny commented Nov 26, 2014

We decided to use vendored library to have full control over our dependencies. This allows us to keep them in sync and provide a known-working-state. You could probably achieve this by relying on package versions and dependency specifications but at the time when we started with cabbage, no package manager offered the needed flexibility.

@tonini
Copy link
Collaborator Author

tonini commented Nov 26, 2014

I really understand this point, maybe we could go with MELPA STABLE and pin specific packages to always get tagged packages from MELPA STABLE.

@tonini
Copy link
Collaborator Author

tonini commented Nov 29, 2014

@senny What do you think about the idea if we go with Cask and pinned packages? cask/cask#252

I know its a emacs 24.4 feature, but to be honest, people really should update, I mean REALLY. emacs 24.4 is in a really good shape.

@senny
Copy link
Owner

senny commented Nov 29, 2014

to be honest, this is not something I'd consider at this point. I don't want force cabbage users to to upgrade their Emacs at all times. A good amount of co-workers (including me) are still on 24.3. I like consistency in my Editor and every upgrade brings some changes one has to adapt to.

Besides that, I'm not eager to move away from the submodule approach we have at the moment. It allows for precise control of what works together. In my experience what we have now works very well. I'd rather not depend on an external package for the backbone of this project.

The experience cabbage should provide is:

  • works out of the box with close to no configuration
  • a stable working environment
  • sane defaults for external packages
  • get out of your way when you want to customize Emacs further

@tonini I hope this makes any sense.

@tonini
Copy link
Collaborator Author

tonini commented Dec 1, 2014

@senny Thanks for this great explanation. :-)

I really see and understand your point, so let's talk about some dependencies we have with flycheck. :-)

The following packages are dependencies which we have to resolve.

@senny
Copy link
Owner

senny commented Dec 1, 2014

@tonini Is there anything preventing us from vendoring those in?

@tonini
Copy link
Collaborator Author

tonini commented Dec 1, 2014

@senny Not at all, I just wanted to hear a GO before vendoring them UP ;-)

@senny
Copy link
Owner

senny commented Dec 1, 2014

GO 🏁

@tonini
Copy link
Collaborator Author

tonini commented Dec 8, 2014

@senny I'm working on it, had a little break last week. :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants