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

Emacs Live Failed To Start #217

Open
rgeorgioff opened this issue Aug 1, 2015 · 5 comments
Open

Emacs Live Failed To Start #217

rgeorgioff opened this issue Aug 1, 2015 · 5 comments

Comments

@rgeorgioff
Copy link

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 namedSHORTNAME-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 optionSHORTNAME-arguments' holds the default value for the\npopup arguments. It can be customized from within the popup or\nusing the Custom interface.\n\nThe function SHORTNAME-arguments' is a wrapper around the\nvariablemagit-current-popup-args', both of which are intended\nto be used inside the interactive' form of commands commonly\ninvoked from the popupNAME'. When such a command is invoked\nfrom that popup, then the function SHORTNAME-arguments' returns\nthe value of the variablemagit-current-popup-args'; however\nwhen the command is invoked directly, then it returns the default\nvalue of the variable SHORTNAME-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 usingdefcustom'.\n\nOptional argument MODE specifies the mode used by the popup\nbuffer. If it is ommitted or nil then magit-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\n magit-define-popup-action' for details.\n\n Actions are regular Emacs commands, which usually have an\ninteractive' 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\n SHORTNAME-arguments'. This is usually done by calling the\n functionSHORTNAME-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 see magit-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 usingmagit-popup-use-prefix-argument'.\n The value, if specified, should be one of default' orprefix'.\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\n magit-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), see magit-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 ismagit-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;; https://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;; https://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()

@piotr-yuxuan
Copy link

I have the same problem:

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 function `SHORTNAME-arguments' is a wrapper around the\nvariable `magit-current-popup-args', both of which are intended\nto be used inside the `interactive' form of commands commonly\ninvoked from the popup `NAME'.  When such a command is invoked\nfrom that popup, then the function `SHORTNAME-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 variable `SHORTNAME-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 then `magit-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\n  `magit-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\n  `SHORTNAME-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 see `magit-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 of `default' 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\n  `magit-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), see `magit-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*-31685> nil "/home/p2b/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit-diff.el" nil t)  ; Reading at buffer position 16329
  load-with-code-conversion("/home/p2b/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit-diff.el" "/home/p2b/.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*-267477> nil "/home/p2b/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit.el" nil t)  ; Reading at buffer position 2106
  load-with-code-conversion("/home/p2b/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit.el" "/home/p2b/.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*-188799> nil "/home/p2b/.emacs.d/packs/stable/git-pack/config/magit-conf.el" nil t)  ; Reading at buffer position 78
  load-with-code-conversion("/home/p2b/.emacs.d/packs/stable/git-pack/config/magit-conf.el" "/home/p2b/.emacs.d/packs/stable/git-pack/config/magit-conf.el" nil nil)
  ad-Orig-load("/home/p2b/.emacs.d/packs/stable/git-pack/config/magit-conf.el" nil nil t nil)
  load("/home/p2b/.emacs.d/packs/stable/git-pack/config/magit-conf.el" nil nil t)
  load-file("/home/p2b/.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*-746119> nil "/home/p2b/.emacs.d/packs/stable/git-pack/init.el" nil t)  ; Reading at buffer position 176
  load-with-code-conversion("/home/p2b/.emacs.d/packs/stable/git-pack/init.el" "/home/p2b/.emacs.d/packs/stable/git-pack/init.el" nil nil)
  ad-Orig-load("/home/p2b/.emacs.d/packs/stable/git-pack/init.el" nil nil t nil)
  load("/home/p2b/.emacs.d/packs/stable/git-pack/init.el" nil nil t)
  load-file("/home/p2b/.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/p2b/.emacs.d/packs/stable/git-pack/")
  (lambda (pack-dir) (live-load-pack pack-dir))("/home/p2b/.emacs.d/packs/stable/git-pack/")
  mapc((lambda (pack-dir) (live-load-pack pack-dir)) ("/home/p2b/.emacs.d/packs/stable/foundation-pack/" "/home/p2b/.emacs.d/packs/stable/colour-pack/" "/home/p2b/.emacs.d/packs/stable/lang-pack/" "/home/p2b/.emacs.d/packs/stable/power-pack/" "/home/p2b/.emacs.d/packs/stable/git-pack/" "/home/p2b/.emacs.d/packs/stable/org-pack/" "/home/p2b/.emacs.d/packs/stable/clojure-pack/" "/home/p2b/.emacs.d/packs/stable/bindings-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;;           https://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;;           https://github.com/overtone/emacs-live\n;;\n;; " (live-welcome-message) "\n\n"))))))
  eval-buffer(#<buffer  *load*> nil "/home/p2b/.emacs.d/init.el" nil t)  ; Reading at buffer position 8318
  load-with-code-conversion("/home/p2b/.emacs.d/init.el" "/home/p2b/.emacs.d/init.el" t t)
  load("/home/p2b/.emacs.d/init" t t)
  #[0 "�\205\262

@piotr-yuxuan
Copy link

I'm willing to help but I don't know what to do :/ anyway, tell what would make the debug easier :-)
FYI I create a new blank user account, logged into it then launch emacs afresh: no trouble. I paste the « runes »

bash <(curl -fksSL https://raw.github.com/overtone/emacs-live/master/installer/install-emacs-live.sh) 

then when I relaunch emacs again, it crashes :/

@Dwlo
Copy link

Dwlo commented Aug 6, 2015

Same problem at emacs startup after emacs-live rebase to latest commit

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 (conc$
(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. $
(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-c$
eval-buffer(#<buffer load-168641> nil "/home/ibrahiml/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit-diff.el" nil t) ; Reading at buffer position 16329
load-with-code-conversion("/home/ibrahiml/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit-diff.el" "/home/ibrahiml/.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-960456> nil "/home/ibrahiml/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit.el" nil t) ; Reading at buffer position 2106
load-with-code-conversion("/home/ibrahiml/.emacs.d/packs/stable/git-pack/lib/magit/lisp/magit.el" "/home/ibrahiml/.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-666686> nil "/home/ibrahiml/.emacs.d/packs/stable/git-pack/config/magit-conf.el" nil t) ; Reading at buffer position 78
load-with-code-conversion("/home/ibrahiml/.emacs.d/packs/stable/git-pack/config/magit-conf.el" "/home/ibrahiml/.emacs.d/packs/stable/git-pack/config/magit-conf.el" nil nil)
ad-Orig-load("/home/ibrahiml/.emacs.d/packs/stable/git-pack/config/magit-conf.el" nil nil t nil)
load("/home/ibrahiml/.emacs.d/packs/stable/git-pack/config/magit-conf.el" nil nil t)
load-file("/home/ibrahiml/.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-87336> nil "/home/ibrahiml/.emacs.d/packs/stable/git-pack/init.el" nil t) ; Reading at buffer position 176
load-with-code-conversion("/home/ibrahiml/.emacs.d/packs/stable/git-pack/init.el" "/home/ibrahiml/.emacs.d/packs/stable/git-pack/init.el" nil nil)
ad-Orig-load("/home/ibrahiml/.emacs.d/packs/stable/git-pack/init.el" nil nil t nil)
load("/home/ibrahiml/.emacs.d/packs/stable/git-pack/init.el" nil nil t)
load-file("/home/ibrahiml/.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 $
live-load-pack("/home/ibrahiml/.emacs.d/packs/stable/git-pack/")
(lambda (pack-dir) (live-load-pack pack-dir))("/home/ibrahiml/.emacs.d/packs/stable/git-pack/")
mapc((lambda (pack-dir) (live-load-pack pack-dir)) ("/home/ibrahiml/.emacs.d/packs/stable/foundation-pack/" "/home/ibrahiml/.emacs.d/packs/stable/colour-pack/" "/home/ibrahiml/.emacs.d/packs/stable/lang-pack/" "/home/ibrahiml/.emacs.d/$
(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-nam$
(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-d$
eval-buffer(#<buffer load> nil "/home/ibrahiml/.emacs.d/init.el" nil t) ; Reading at buffer position 8318
load-with-code-conversion("/home/ibrahiml/.emacs.d/init.el" "/home/ibrahiml/.emacs.d/init.el" t t)
-UUU:%--F1 *Backtrace Top (38,100) [(Debugger Undo-Tree yas VHl -2-)]

@Dwlo
Copy link

Dwlo commented Aug 6, 2015

You can downgrade to the following commit to make it work
git checkout 1ef5ab9

heimojuh added a commit to heimojuh/emacs-live that referenced this issue Aug 13, 2015
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
heimojuh added a commit to heimojuh/emacs-live that referenced this issue Aug 13, 2015
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
@heimojuh
Copy link
Contributor

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 :)

heimojuh added a commit to heimojuh/emacs-live that referenced this issue Aug 13, 2015
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
hoggarth pushed a commit to hoggarth/emacs-live that referenced this issue Oct 10, 2016
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
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

No branches or pull requests

4 participants