-
Notifications
You must be signed in to change notification settings - Fork 244
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
Emacs Live Failed To Start #217
Comments
I have the same problem:
|
I'm willing to help but I don't know what to do :/ anyway, tell what would make the debug easier :-) bash <(curl -fksSL https://raw.github.com/overtone/emacs-live/master/installer/install-emacs-live.sh) then when I relaunch emacs again, it crashes :/ |
Same problem at emacs startup after emacs-live rebase to latest commit Debugger entered--Lisp error: (void-function string-suffix-p) |
You can downgrade to the following commit to make it work |
GNU Emacs 24.3 is missing function string-suffix-p and this causes emacs-live to fail at start. This function is added in 24.4 see magit/magit/#1500 this might be cause of confusion at overtone#217
GNU Emacs 24.3 is missing function string-suffix-p and this causes emacs-live to fail at start. This function is added in 24.4 see magit/magit#1500 this might be cause of confusion at overtone#217
If I may ask, what version of emacs you're running when encountering the problem? I had the same problem with emacs 24.3, updating to 24.4 fixed it :) |
GNU Emacs 24.3 is missing function string-suffix-p and this causes emacs-live to fail at start. This function is added in 24.4 see magit/magit#1500 this might be cause of confusion at overtone#217
GNU Emacs 24.3 is missing function string-suffix-p and this causes emacs-live to fail at start. This function is added in 24.4 see magit/magit#1500 this might be cause of confusion at overtone#217
First of all, I'm building Emacs Live on a Chromebook I have setup with an Ubuntu chroot with Crouton. So it's a bit unorthodox, but hopefully my issue is of a more general nature, and not specific to my implementation.
I received an error message when I booted my Emacs 24 after running the curl script:
"I'm sorry, Emacs live failed to start correctly"
Here's the message from the debugger. I'm essentially a novice so hopefully someone can assist me with translating it.
Debugger entered--Lisp error: (void-function string-suffix-p)
(string-suffix-p "-popup" opt)
(if (string-suffix-p "-popup" opt) (substring opt 0 -6) opt)
(concat (if (string-suffix-p "-popup" opt) (substring opt 0 -6) opt) "-arguments")
(intern (concat (if (string-suffix-p "-popup" opt) (substring opt 0 -6) opt) "-arguments"))
(if (keywordp (car args)) (intern (concat (if (string-suffix-p "-popup" opt) (substring opt 0 -6) opt) "-arguments")) (eval (car (prog1 args (setq args (cdr args))))))
(let* ((grp (if (keywordp (car args)) nil (car (prog1 args (setq args (cdr args)))))) (mode (if (keywordp (car args)) nil (car (prog1 args (setq args (cdr args)))))) (opt (symbol-name name)) (opt (if (keywordp (car args)) (intern (concat (if (string-suffix-p "-popup" opt) (substring opt 0 -6) opt) "-arguments")) (eval (car (prog1 args (setq args ...))))))) (cons (quote progn) (cons (list (quote defun) name (quote (&optional arg)) doc (quote (interactive "P")) (cons (quote magit-invoke-popup) (cons (list (quote quote) name) (cons mode (quote ...))))) (cons (list (quote defvar) name (cons (quote list) (cons (quote :variable) (cons ... args)))) (if opt (progn (list (cons ... ...) (list ... opt nil ...) (list ... ... ... ...))))))))
(lambda (name doc &rest args) "Define a popup command named NAME.\n\nNAME should begin with the package prefix and by convention end\nwith
-popup'. That name is used for the actual command as well\nas for a variable used internally. DOC is used as the doc-string\nof that command.\n\nAlso define an option and a function named
SHORTNAME-arguments',\nwhere SHORTNAME is NAME with the trailing-popup' removed. The\nname of this option and this function can be overwritten using\nthe optional argument OPTION, but that is rarely advisable. As a\nspecial case if OPTION is specified but nil, do not define this\noption and this function at all.\n\nThe option
SHORTNAME-arguments' holds the default value for the\npopup arguments. It can be customized from within the popup or\nusing the Custom interface.\n\nThe functionSHORTNAME-arguments' is a wrapper around the\nvariable
magit-current-popup-args', both of which are intended\nto be used inside theinteractive' form of commands commonly\ninvoked from the popup
NAME'. When such a command is invoked\nfrom that popup, then the functionSHORTNAME-arguments' returns\nthe value of the variable
magit-current-popup-args'; however\nwhen the command is invoked directly, then it returns the default\nvalue of the variableSHORTNAME-arguments'.\n\nOptional argument GROUP specifies the Custom group in which the\noption is placed. If ommitted then the option is placed in some\ngroup the same way it is done when directly using
defcustom'.\n\nOptional argument MODE specifies the mode used by the popup\nbuffer. If it is ommitted or nil thenmagit-popup-mode' is\nused.\n\nThe remaining arguments should have the form\n\n [KEYWORD VALUE]...\n\nThe following keywords are meaningful (and by convention are\nusually specified in that order):\n\n
:actions'\n The actions which can be invoked from the popup. VALUE is a\n list whose members have the form (KEY DESC COMMAND), see\nmagit-define-popup-action' for details.\n\n Actions are regular Emacs commands, which usually have an\n
interactive' form setup to consume the values of the popup\n:switches' and
:options' when invoked from the corresponding\n popup, else when invoked as the default action or directly\n without using the popup, the default value of the variable\nSHORTNAME-arguments'. This is usually done by calling the\n function
SHORTNAME-arguments'.\n\n Members of VALUE may also be strings may, assuming the first\n member is also a string. Instead of just one action section\n with the heading "Actions", multiple sections are then\n inserted into the popup buffer, using these strings as\n headings.\n\n Members of VALUE may also be nil. This should only be used\n together with:max-action-columns' and allows having gaps in\n the action grit, which can help arranging actions sensibly.\n\n
:default-action'\n The default action of the popup which is used directly instead\n of displaying the popup buffer, when the popup is invoked with\n a prefix argument. Also seemagit-popup-use-prefix-argument'\n and
:use-prefix', which can be used to inverse the meaning of\n the prefix argument.\n\n:use-prefix'\n Controls when to display the popup buffer and when to invoke\n the default action (if any) directly. This overrides the\n global default set using
magit-popup-use-prefix-argument'.\n The value, if specified, should be one ofdefault' or
prefix'.\n\n:max-action-columns'\n The maximum number of actions to display on a single line.\n This helps arranging actions more sensibly. If there is not\n enough room to display that many actions on one line, then\n this is ignored.\n\n
:switches'\n The popup arguments which can be toggled on and off. VALUE\n is a list whose members have the form (KEY DESC SWITCH), see\nmagit-define-popup-switch' for defails.\n\n
:options'\n The popup arguments which take a value, as in "--opt=OPTVAL".\n VALUE is a list whose members have the form (KEY DESC OPTION\n READER), seemagit-define-popup-option' for details.\n\n
:default-arguments'\n The default arguments, a list of switches (which are then\n enabled by default) and options with there default values, as\n in "--OPT=OPTVAL".\n\n:man-page'\n The name of the manpage to be displayed when the user requests\n help for a switch or argument.\n\nWhen MODE is
magit-popup-sequence-mode', then the following\nkeywords are also meaningful:\n\n:sequence-predicate'\n When this function returns non-nil, then the popup uses\n
:sequence-actions' instead of:actions'.\n\n
:sequence-actions'\n The actions which can be invoked from the popup, when\n:sequence-predicate' returns non-nil.\n\n(fn NAME DOC [GROUP [MODE [OPTION]]] :KEYWORD VALUE...)" (let* ((grp (if (keywordp (car args)) nil (car (prog1 args (setq args ...))))) (mode (if (keywordp (car args)) nil (car (prog1 args (setq args ...))))) (opt (symbol-name name)) (opt (if (keywordp (car args)) (intern (concat (if ... ... opt) "-arguments")) (eval (car (prog1 args ...)))))) (cons (quote progn) (cons (list (quote defun) name (quote (&optional arg)) doc (quote (interactive "P")) (cons (quote magit-invoke-popup) (cons (list ... name) (cons mode ...)))) (cons (list (quote defvar) name (cons (quote list) (cons ... ...))) (if opt (progn (list ... ... ...))))))))(magit-diff-popup "Popup console for diff commands." (quote magit-diff) :man-page "git-diff" :switches (quote ((102 "Show surrounding functions" "--function-context") (98 "Ignore whitespace changes" "--ignore-space-change") (119 "Ignore all whitespace" "--ignore-all-space"))) :options (quote ((102 "Limit to files" "-- " magit-read-files) (117 "Context lines" "-U" read-from-minibuffer) (109 "Detect renames" "-M" read-from-minibuffer) (99 "Detect copies" "-C" read-from-minibuffer) (97 "Diff algorithm" "--diff-algorithm=" magit-diff-select-algorithm))) :actions (quote ((100 "Dwim" magit-diff-dwim) (117 "Diff unstaged" magit-diff-unstaged) (99 "Show commit" magit-show-commit) (114 "Diff commits" magit-diff) (115 "Diff staged" magit-diff-staged) (116 "Show stash" magit-stash-show) (112 "Diff paths" magit-diff-paths) (119 "Diff worktree" magit-diff-working-tree))) :default-action (quote magit-diff-dwim) :max-action-columns 3) (magit-define-popup magit-diff-popup "Popup console for diff commands." (quote magit-diff) :man-page "git-diff" :switches (quote ((102 "Show surrounding functions" "--function-context") (98 "Ignore whitespace changes" "--ignore-space-change") (119 "Ignore all whitespace" "--ignore-all-space"))) :options (quote ((102 "Limit to files" "-- " magit-read-files) (117 "Context lines" "-U" read-from-minibuffer) (109 "Detect renames" "-M" read-from-minibuffer) (99 "Detect copies" "-C" read-from-minibuffer) (97 "Diff algorithm" "--diff-algorithm=" magit-diff-select-algorithm))) :actions (quote ((100 "Dwim" magit-diff-dwim) (117 "Diff unstaged" magit-diff-unstaged) (99 "Show commit" magit-show-commit) (114 "Diff commits" magit-diff) (115 "Diff staged" magit-diff-staged) (116 "Show stash" magit-stash-show) (112 "Diff paths" magit-diff-paths) (119 "Diff worktree" magit-diff-working-tree))) :default-action (quote magit-diff-dwim) :max-action-columns 3) eval-buffer(#<buffer *load*-786848> nil "/home/phaedrus/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit-diff.el" nil t) ; Reading at buffer position 16329 load-with-code-conversion("/home/phaedrus/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit-diff.el" "/home/phaedrus/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit-diff.el" nil t) ad-Orig-require(magit-diff nil nil) require(magit-diff) eval-buffer(#<buffer *load*-186436> nil "/home/phaedrus/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit.el" nil t) ; Reading at buffer position 2106 load-with-code-conversion("/home/phaedrus/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit.el" "/home/phaedrus/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit.el" nil t) ad-Orig-require(magit nil nil) require(magit) eval-buffer(#<buffer *load*-734645> nil "/home/phaedrus/.emacs.d/packs/stable/git-pack/config/magit-conf.el" nil t) ; Reading at buffer position 78 load-with-code-conversion("/home/phaedrus/.emacs.d/packs/stable/git-pack/config/magit-conf.el" "/home/phaedrus/.emacs.d/packs/stable/git-pack/config/magit-conf.el" nil nil) ad-Orig-load("/home/phaedrus/.emacs.d/packs/stable/git-pack/config/magit-conf.el" nil nil t nil) load("/home/phaedrus/.emacs.d/packs/stable/git-pack/config/magit-conf.el" nil nil t) load-file("/home/phaedrus/.emacs.d/packs/stable/git-pack/config/magit-conf.el") (let* ((config-dir (live-pack-config-dir))) (load-file (concat config-dir f-name))) live-load-config-file("magit-conf.el") eval-buffer(#<buffer *load*-739791> nil "/home/phaedrus/.emacs.d/packs/stable/git-pack/init.el" nil t) ; Reading at buffer position 176 load-with-code-conversion("/home/phaedrus/.emacs.d/packs/stable/git-pack/init.el" "/home/phaedrus/.emacs.d/packs/stable/git-pack/init.el" nil nil) ad-Orig-load("/home/phaedrus/.emacs.d/packs/stable/git-pack/init.el" nil nil t nil) load("/home/phaedrus/.emacs.d/packs/stable/git-pack/init.el" nil nil t) load-file("/home/phaedrus/.emacs.d/packs/stable/git-pack/init.el") (if (file-exists-p pack-init) (load-file pack-init)) (let* ((pack-dir (file-name-as-directory pack-dir)) (pack-info (concat pack-dir "info.el")) (pack-init (concat pack-dir "init.el"))) (setq live-current-pack-dir pack-dir) (live-clear-pack-info) (if (file-exists-p pack-info) (load-file pack-info) (message (concat "Error - could not find info.el file for pack with location: " pack-dir))) (live-print-pack-info) (add-to-list (quote load-path) (live-pack-lib-dir)) (if (file-exists-p pack-init) (load-file pack-init)) (setq live-current-pack-dir nil)) live-load-pack("/home/phaedrus/.emacs.d/packs/stable/git-pack/") (lambda (pack-dir) (live-load-pack pack-dir))("/home/phaedrus/.emacs.d/packs/stable/git-pack/") mapc((lambda (pack-dir) (live-load-pack pack-dir)) ("/home/phaedrus/.emacs.d/packs/stable/foundation-pack/" "/home/phaedrus/.emacs.d/packs/stable/colour-pack/" "/home/phaedrus/.emacs.d/packs/stable/lang-pack/" "/home/phaedrus/.emacs.d/packs/stable/power-pack/" "/home/phaedrus/.emacs.d/packs/stable/git-pack/" "/home/phaedrus/.emacs.d/packs/stable/org-pack/" "/home/phaedrus/.emacs.d/packs/stable/clojure-pack/" "/home/phaedrus/.emacs.d/packs/stable/bindings-pack/" "~/.live-packs/phaedrus-pack/")) (progn (setq live-root-dir (if (boundp (quote live-root-dir)) (file-name-as-directory live-root-dir) (if (file-exists-p (expand-file-name "manifest.el" user-emacs-directory)) user-emacs-directory) (file-name-directory (or load-file-name buffer-file-name)))) (setq live-tmp-dir (file-name-as-directory (concat live-root-dir "tmp")) live-etc-dir (file-name-as-directory (concat live-root-dir "etc")) live-pscratch-dir (file-name-as-directory (concat live-tmp-dir "pscratch")) live-lib-dir (file-name-as-directory (concat live-root-dir "lib")) live-packs-dir (file-name-as-directory (concat live-root-dir "packs")) live-autosaves-dir (file-name-as-directory (concat live-tmp-dir "autosaves")) live-backups-dir (file-name-as-directory (concat live-tmp-dir "backups")) live-custom-dir (file-name-as-directory (concat live-etc-dir "custom")) live-load-pack-dir nil live-disable-zone nil) (make-directory live-etc-dir t) (make-directory live-tmp-dir t) (make-directory live-autosaves-dir t) (make-directory live-backups-dir t) (make-directory live-custom-dir t) (make-directory live-pscratch-dir t) (load-file (concat live-root-dir "manifest.el")) (load-file (concat live-lib-dir "live-core.el")) (let* ((pack-names (quote ("foundation-pack" "colour-pack" "lang-pack" "power-pack" "git-pack" "org-pack" "clojure-pack" "bindings-pack"))) (live-dir (file-name-as-directory "stable")) (dev-dir (file-name-as-directory "dev"))) (setq live-packs (mapcar (function (lambda (p) (concat live-dir p))) pack-names)) (setq live-dev-pack-list (mapcar (function (lambda (p) (concat dev-dir p))) pack-names))) (defalias (quote live-version) (function (lambda nil (interactive) (if (called-interactively-p (quote interactive)) (message "%s" (concat "This is Emacs Live " live-version)) live-version)))) (let* ((pack-file (concat (file-name-as-directory "~") ".emacs-live.el"))) (if (and (file-exists-p pack-file) (not live-safe-modep)) (load-file pack-file))) (mapc (function (lambda (pack-dir) (live-load-pack pack-dir))) (live-pack-dirs)) (setq live-welcome-messages (if (live-user-first-name-p) (list (concat "Hello " (live-user-first-name) ", somewhere in the world the sun is shining for you right now.") (concat "Hello " (live-user-first-name) ", it's lovely to see you again. I do hope that you're well.") (concat (live-user-first-name) ", turn your head towards the sun and the shadows will fall behind you.")) (list "Hello, somewhere in the world the sun is shining for you right now." "Hello, it's lovely to see you again. I do hope that you're well." "Turn your head towards the sun and the shadows will fall behind you."))) (defalias (quote live-welcome-message) (function (lambda nil (nth (random (length live-welcome-messages)) live-welcome-messages)))) (if live-supported-emacsp (progn (setq initial-scratch-message (concat live-ascii-art-logo " Version " live-version (if live-safe-modep "\n;; --*SAFE MODE*--" "\n;;") "\n;; http://github.com/overtone/emacs-live\n;;\n;; " (live-welcome-message) "\n\n"))))) (if live-supported-emacsp (progn (setq live-root-dir (if (boundp (quote live-root-dir)) (file-name-as-directory live-root-dir) (if (file-exists-p (expand-file-name "manifest.el" user-emacs-directory)) user-emacs-directory) (file-name-directory (or load-file-name buffer-file-name)))) (setq live-tmp-dir (file-name-as-directory (concat live-root-dir "tmp")) live-etc-dir (file-name-as-directory (concat live-root-dir "etc")) live-pscratch-dir (file-name-as-directory (concat live-tmp-dir "pscratch")) live-lib-dir (file-name-as-directory (concat live-root-dir "lib")) live-packs-dir (file-name-as-directory (concat live-root-dir "packs")) live-autosaves-dir (file-name-as-directory (concat live-tmp-dir "autosaves")) live-backups-dir (file-name-as-directory (concat live-tmp-dir "backups")) live-custom-dir (file-name-as-directory (concat live-etc-dir "custom")) live-load-pack-dir nil live-disable-zone nil) (make-directory live-etc-dir t) (make-directory live-tmp-dir t) (make-directory live-autosaves-dir t) (make-directory live-backups-dir t) (make-directory live-custom-dir t) (make-directory live-pscratch-dir t) (load-file (concat live-root-dir "manifest.el")) (load-file (concat live-lib-dir "live-core.el")) (let* ((pack-names (quote ("foundation-pack" "colour-pack" "lang-pack" "power-pack" "git-pack" "org-pack" "clojure-pack" "bindings-pack"))) (live-dir (file-name-as-directory "stable")) (dev-dir (file-name-as-directory "dev"))) (setq live-packs (mapcar (function (lambda (p) (concat live-dir p))) pack-names)) (setq live-dev-pack-list (mapcar (function (lambda (p) (concat dev-dir p))) pack-names))) (defalias (quote live-version) (function (lambda nil (interactive) (if (called-interactively-p (quote interactive)) (message "%s" (concat "This is Emacs Live " live-version)) live-version)))) (let* ((pack-file (concat (file-name-as-directory "~") ".emacs-live.el"))) (if (and (file-exists-p pack-file) (not live-safe-modep)) (load-file pack-file))) (mapc (function (lambda (pack-dir) (live-load-pack pack-dir))) (live-pack-dirs)) (setq live-welcome-messages (if (live-user-first-name-p) (list (concat "Hello " (live-user-first-name) ", somewhere in the world the sun is shining for you right now.") (concat "Hello " (live-user-first-name) ", it's lovely to see you again. I do hope that you're well.") (concat (live-user-first-name) ", turn your head towards the sun and the shadows will fall behind you.")) (list "Hello, somewhere in the world the sun is shining for you right now." "Hello, it's lovely to see you again. I do hope that you're well." "Turn your head towards the sun and the shadows will fall behind you."))) (defalias (quote live-welcome-message) (function (lambda nil (nth (random (length live-welcome-messages)) live-welcome-messages)))) (if live-supported-emacsp (progn (setq initial-scratch-message (concat live-ascii-art-logo " Version " live-version (if live-safe-modep "\n;; --*SAFE MODE*--" "\n;;") "\n;; http://github.com/overtone/emacs-live\n;;\n;; " (live-welcome-message) "\n\n")))))) eval-buffer(#<buffer *load*> nil "/home/phaedrus/.emacs.d/init.el" nil t) ; Reading at buffer position 8318 load-with-code-conversion("/home/phaedrus/.emacs.d/init.el" "/home/phaedrus/.emacs.d/init.el" t t) load("/home/phaedrus/.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()
The text was updated successfully, but these errors were encountered: