[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#22924: 25.0.92; YASnippet doesn't work in Emacs 25
From: |
João Távora |
Subject: |
bug#22924: 25.0.92; YASnippet doesn't work in Emacs 25 |
Date: |
Mon, 7 Mar 2016 08:45:55 +0000 |
I am no longer the official maintainer, Noam (Cc'ed) is.
I thought the yasnippet.el source file in ELPA.git still didn't register that
fact, but it does, as of 2016-01-21
I wonder if you're somehow accessing an outdated ELPA.git.
Anyway I have just once again merged back from the yasnippet's
github-based upstream. Hopefully this will also correct the bug
you're seeing.
João
On Sun, Mar 6, 2016 at 2:12 PM, Simen Heggestøyl <simenheg@gmail.com> wrote:
> YASnippet doesn't seem to work in the latest Emacs 25 pretest
> (25.0.92.1), following these steps:
>
> 1. Install YASnippet from GNU ELPA. Version 0.8.0 is installed.
>
> 2. Type `M-x yas-global-mode RET'. This causes YASnippet to crash with
> the following backtrace:
>
> Debugger entered--Lisp error: (wrong-type-argument integerp nil)
> yas--populate-template([cl-struct-yas--template nil nil nil nil nil nil
> nil nil nil nil nil nil] :table [cl-struct-yas--table "emacs-lisp-mode"
> #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data (
> ...)) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8
> data ( ...)) nil (keymap)] :key "yes-or-no-p" :content "(yes-or-no-p
> \"PROMPT$0 \")" :name "yes-or-no-p" :group nil :condition nil :expand-env
> nil :file
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/yes-or-no-p.yasnippet"
> :keybinding nil :uuid "yes-or-no-p")
> yas-define-snippets-1(("yes-or-no-p" "(yes-or-no-p \"PROMPT$0 \")"
> "yes-or-no-p" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/yes-or-no-p.yasnippet"
> nil nil) [cl-struct-yas--table "emacs-lisp-mode" #s(hash-table size 65 test
> equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) #s(hash-table size
> 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) nil
> (keymap)])
> yas-define-snippets(emacs-lisp-mode (("yes-or-no-p" "(yes-or-no-p
> \"PROMPT$0 \")" "yes-or-no-p" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/yes-or-no-p.yasnippet"
> nil nil) ("yonp" "(yes-or-no-p \"PROMPT$0 \")" "y-or-n-p" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/y-or-n-p.yasnippet"
> nil nil) ("x-word-or-region" ";; example of a command that works on current
> word or text selection\n(defun down-case-word-or-region ()\n \"Lower case
> the current word or text selection.\"\n(interactive)\n(let (pos1 pos2
> meat)\n (if (and transient-mark-mode mark-active)\n (setq pos1
> (region-beginning)\n pos2 (region-end))\n (setq pos1 (car
> (bounds-of-thing-at-point 'symbol))\n pos2 (cdr
> (bounds-of-thing-at-point 'symbol))))\n\n ; now, pos1 and pos2 are the
> starting and ending positions\n ; of the current word, or current text
> selection if exists\n\n ;; put your code here.\n $0\n ;; Some example of
> things you might want to do\n (downcase-region pos1 pos2) ; example of a
> func that takes region as args\n (setq meat (buffer-substring-no-properties
> pos1 pos2)) ; grab the text.\n (delete-region pos1 pos2) ; get rid of it\n
> (insert \"newText\") ; insert your new text\n\n )\n)" "Command that works
> on region or word" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/x-word-or-region.yasnippet"
> nil nil) ("x-traverse_dir" ";; apply a function to all files in a
> dir\n(require 'find-lisp)\n(mapc 'my-process-file (find-lisp-find-files
> \"~/myweb/\" \"\\\\.html$\"))" "traversing a directory" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/x-traverse_dir.yasnippet"
> nil nil) ("x-grabthing" "(setq $0 (thing-at-point 'symbol))" "grab word
> under cursor" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/x-grabthing.yasnippet"
> nil nil) ("x-grabstring" "(setq $0 (buffer-substring-no-properties
> myStartPos myEndPos))" "grab buffer substring" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/x-grabstring.yasnippet"
> nil nil) ("x-find-replace" "(defun replace-html-chars-region (start end)\n
> \"Replace < to < and other chars in HTML.\nThis works on the current
> region.\"\n (interactive \"r\")\n (save-restriction \n
> (narrow-to-region start end)\n (goto-char (point-min))\n (while
> (search-forward \"&\" nil t) (replace-match \"&\" nil t))\n
> (goto-char (point-min))\n (while (search-forward \"<\" nil t)
> (replace-match \"<\" nil t))\n (goto-char (point-min))\n (while
> (search-forward \">\" nil t) (replace-match \">\" nil t))\n )\n )"
> "find and replace on region" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/x-find-replace.yasnippet"
> nil nil) ("x-file" "(defun read-lines (filePath)\n \"Return a list of lines
> in FILEPATH.\"\n (with-temp-buffer\n (insert-file-contents filePath)\n
> (split-string\n (buffer-string) \"\\n\" t)) )\n\n;; process all
> lines\n(mapc \n (lambda (aLine) \n (message aLine) ; do your stuff here\n
> )\n (read-lines \"inputFilePath\")\n)" "read lines of a file" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/x-file.read-lines.yasnippet"
> nil nil) ("x-file" "(defun doThisFile (fpath)\n \"Process the file at path
> FPATH ...\"\n (let ()\n ;; create temp buffer without undo record or
> font lock. (more efficient)\n ;; first space in temp buff name is
> necessary\n (set-buffer (get-buffer-create \" myTemp\"))\n
> (insert-file-contents fpath nil nil nil t)\n\n ;; process it ...\n ;;
> (goto-char 0) ; move to begining of file's content (in case it was open)\n
> ;; ... do something here\n ;; (write-file fpath) ;; write back to the
> file\n\n (kill-buffer \" myTemp\")))" "a function that process a file"
> nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/x-file.process.yasnippet"
> nil nil) ("x-dired" ";; idiom for processing a list of files in dired's
> marked files\n \n;; suppose myProcessFile is your function that takes a file
> path\n;; and do some processing on the file\n\n(defun dired-myProcessFile
> ()\n \"apply myProcessFile function to marked files in dired.\"\n
> (interactive)\n (require 'dired)\n (mapc 'myProcessFile
> (dired-get-marked-files))\n)\n\n;; to use it, type M-x dired-myProcessFile"
> "process marked files in dired" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/x-dired.process_marked.yasnippet"
> nil nil) ("wcb" "(with-current-buffer $0 )" "with-current-buffer" nil nil
> nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/with-current-buffer.yasnippet"
> nil nil) ("wg" "(widget-get $0 )" "widget-get" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/widget-get.yasnippet"
> nil nil) ("while" "(while $0)" "while" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/while.yasnippet"
> nil nil) ("when" "(when $0)" "when" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/when.yasnippet"
> nil nil) ("v" "(vector $0)" "vector" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/vector.yasnippet"
> nil nil) ("unless" "(unless $0)" "unless" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/unless.yasnippet"
> nil nil) ("tap" "(thing-at-point '$0) ; symbol, list, sexp, defun, filename,
> url, email, word, sentence, whitespace, line, page ..." "thing-at-point" nil
> nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/thing-at-point.yasnippet"
> nil nil) ("substring" "(substring STRING$0 FROM &optional TO)" "substring"
> nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/substring.yasnippet"
> nil nil) ("stringp" "(stringp $0)" "stringp" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/stringp.yasnippet"
> nil nil) ("string=" "(string= $0 )" "string=" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/string=.yasnippet"
> nil nil) ("string" "(string $0 )" "string" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/string.yasnippet"
> nil nil) ("stn" "(string-to-number \"$0\")" "string-to-number" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/string-to-number.yasnippet"
> nil nil) ("sm" "(string-match \"REGEXP$0\" \"STRING\" &optional START)"
> "string-match" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/string-match.yasnippet"
> nil nil) ("ss" "(split-string $0 &optional SEPARATORS OMIT-NULLS)"
> "split-string" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/split-string.yasnippet"
> nil nil) ("scf" "(skip-chars-forward \"$0\" &optional LIM)"
> "skip-chars-forward" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/skip-chars-forward.yasnippet"
> nil nil) ("scb" "(skip-chars-backward \"$0\" &optional LIM)"
> "skip-chars-backward" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/skip-chars-backward.yasnippet"
> nil nil) ("s" "(setq $0 )" "setq" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/setq.yasnippet"
> nil nil) ("set" "(set $0 )" "set" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/set.yasnippet"
> nil nil) ("sm" "(set-mark $0)" "set-mark" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/set-mark.yasnippet"
> nil nil) ("sfm" "(set-file-modes $0 MODE)" "set-file-modes" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/set-file-modes.yasnippet"
> nil nil) ("sb" "(set-buffer $0 )" "set-buffer" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/set-buffer.yasnippet"
> nil nil) ("sf" "(search-forward \"$0\" &optional BOUND NOERROR COUNT)"
> "search-forward" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/search-forward.yasnippet"
> nil nil) ("sfr" "(search-forward-regexp \"$0\" &optional BOUND NOERROR
> COUNT)" "search-forward-regexp" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/search-forward-regexp.yasnippet"
> nil nil) ("sb" "(search-backward \"$0\" &optional BOUND NOERROR COUNT)"
> "search-backward" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/search-backward.yasnippet"
> nil nil) ("sbr" "(search-backward-regexp \"$0\" &optional BOUND NOERROR
> COUNT)" "search-backward-regexp" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/search-backward-regexp.yasnippet"
> nil nil) ("se" "(save-excursion $0)" "save-excursion" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/save-excursion.yasnippet"
> nil nil) ("sb" "(save-buffer $0)" "save-buffer" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/save-buffer.yasnippet"
> nil nil) ("require" "(require $0 )" "require" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/require.yasnippet"
> nil nil) ("rr" "(replace-regexp REGEXP$0 TO-STRING &optional DELIMITED START
> END)" "replace-regexp" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/replace-regexp.yasnippet"
> nil nil) ("rris" "(replace-regexp-in-string REGEXP$0 REP STRING &optional
> FIXEDCASE LITERAL SUBEXP START)" "replace-regexp-in-string" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/replace-regexp-in-string.yasnippet"
> nil nil) ("repeat" "(repeat $0 )" "repeat" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/repeat.yasnippet"
> nil nil) ("rf" "(rename-file FILE$0 NEWNAME &optional OK-IF-ALREADY-EXISTS)"
> "rename-file" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/rename-file.yasnippet"
> nil nil) ("re" "(region-end)" "region-end" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/region-end.yasnippet"
> nil nil) ("rb" "(region-beginning)" "region-beginning" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/region-beginning.yasnippet"
> nil nil) ("rap" "(region-active-p)" "region-active-p" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/region-active-p.yasnippet"
> nil nil) ("rsf" "(re-search-forward REGEXP$0 &optional BOUND NOERROR COUNT)"
> "re-search-forward" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/re-search-forward.yasnippet"
> nil nil) ("rsb" "(re-search-backward REGEXP$0 &optional BOUND NOERROR
> COUNT)" "re-search-backward" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/re-search-backward.yasnippet"
> nil nil) ("put" "(put $0 PROPNAME VALUE)" "put" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/put.yasnippet"
> nil nil) ("push" "(push $0 )" "push" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/push.yasnippet"
> nil nil) ("progn" "(progn $0)" "progn" nil nil nil
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode/progn.yasnippet"
> nil nil) ...))
>
> yas--load-directory-2("/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode"
> emacs-lisp-mode)
>
> yas--load-directory-1("/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode"
> emacs-lisp-mode (text-mode))
> eval((yas--load-directory-1
> "/home/simen/.emacs.d/elpa/yasnippet-0.8.0/snippets/emacs-lisp-mode" (quote
> emacs-lisp-mode) (quote (text-mode))))
> yas--load-pending-jits()
> yas-minor-mode(1)
> yas-minor-mode-on()
> #[(&optional arg) "\306 \307\302 \310=\203\311\302!?\202\312
> !\313V\"\210\n\203/\314\315\316\"\210\314\317\320\"\210\314\321\322\"\210\202>\323\315\316\"\210\323\317\320\"\210\323\321\322\"\210\324
> \325\211\203h\f@r q\210\n\203X\326
> \210\202`\203`\305\327!\210)\fA\211\204G*\330\331\311\302!\203u\332\202v\333\"\210\334\335!\203\243\336\302!\210\306
> \203\216 \306
> \232\203\243\337%\340\341\311\302!\203\235\342\202\236\343%#\210))\344
> \210\311\302!\207" [last-message arg yas-global-mode buf --dolist-tail--
> yas-minor-mode current-message set-default toggle default-value
> prefix-numeric-value 0 add-hook after-change-major-mode-hook
> yas-global-mode-enable-in-buffers find-file-hook
> yas-global-mode-check-buffers change-major-mode-hook yas-global-mode-cmhh
> remove-hook buffer-list nil yas-minor-mode-on -1 run-hooks
> yas-global-mode-hook yas-global-mode-on-hook yas-global-mode-off-hook
> called-interactively-p any customize-mark-as-set "" message "Yas-Global mode
> %sabled%s" "en" "dis" force-mode-line-update local] 5
> ("/home/simen/.emacs.d/elpa/yasnippet-0.8.0/yasnippet.elc" . 24529) (list
> (or current-prefix-arg (quote toggle)))](toggle)
> ad-Advice-yas-global-mode(#[(&optional arg) "\306 \307\302
> \310=\203\311\302!?\202\312
> !\313V\"\210\n\203/\314\315\316\"\210\314\317\320\"\210\314\321\322\"\210\202>\323\315\316\"\210\323\317\320\"\210\323\321\322\"\210\324
> \325\211\203h\f@r q\210\n\203X\326
> \210\202`\203`\305\327!\210)\fA\211\204G*\330\331\311\302!\203u\332\202v\333\"\210\334\335!\203\243\336\302!\210\306
> \203\216 \306
> \232\203\243\337%\340\341\311\302!\203\235\342\202\236\343%#\210))\344
> \210\311\302!\207" [last-message arg yas-global-mode buf --dolist-tail--
> yas-minor-mode current-message set-default toggle default-value
> prefix-numeric-value 0 add-hook after-change-major-mode-hook
> yas-global-mode-enable-in-buffers find-file-hook
> yas-global-mode-check-buffers change-major-mode-hook yas-global-mode-cmhh
> remove-hook buffer-list nil yas-minor-mode-on -1 run-hooks
> yas-global-mode-hook yas-global-mode-on-hook yas-global-mode-off-hook
> called-interactively-p any customize-mark-as-set "" message "Yas-Global mode
> %sabled%s" "en" "dis" force-mode-line-update local] 5
> ("/home/simen/.emacs.d/elpa/yasnippet-0.8.0/yasnippet.elc" . 24529) (list
> (or current-prefix-arg (quote toggle)))] toggle)
> apply(ad-Advice-yas-global-mode #[(&optional arg) "\306 \307\302
> \310=\203\311\302!?\202\312
> !\313V\"\210\n\203/\314\315\316\"\210\314\317\320\"\210\314\321\322\"\210\202>\323\315\316\"\210\323\317\320\"\210\323\321\322\"\210\324
> \325\211\203h\f@r q\210\n\203X\326
> \210\202`\203`\305\327!\210)\fA\211\204G*\330\331\311\302!\203u\332\202v\333\"\210\334\335!\203\243\336\302!\210\306
> \203\216 \306
> \232\203\243\337%\340\341\311\302!\203\235\342\202\236\343%#\210))\344
> \210\311\302!\207" [last-message arg yas-global-mode buf --dolist-tail--
> yas-minor-mode current-message set-default toggle default-value
> prefix-numeric-value 0 add-hook after-change-major-mode-hook
> yas-global-mode-enable-in-buffers find-file-hook
> yas-global-mode-check-buffers change-major-mode-hook yas-global-mode-cmhh
> remove-hook buffer-list nil yas-minor-mode-on -1 run-hooks
> yas-global-mode-hook yas-global-mode-on-hook yas-global-mode-off-hook
> called-interactively-p any customize-mark-as-set "" message "Yas-Global mode
> %sabled%s" "en" "dis" force-mode-line-update local] 5
> ("/home/simen/.emacs.d/elpa/yasnippet-0.8.0/yasnippet.elc" . 24529) (list
> (or current-prefix-arg (quote toggle)))] toggle)
> yas-global-mode(toggle)
> funcall-interactively(yas-global-mode toggle)
> call-interactively(yas-global-mode record nil)
> command-execute(yas-global-mode record)
> execute-extended-command(nil "yas-global-mode" nil)
> funcall-interactively(execute-extended-command nil "yas-global-mode" nil)
> call-interactively(execute-extended-command nil nil)
> command-execute(execute-extended-command)
>
>
> In GNU Emacs 25.0.92.1 (x86_64-pc-linux-gnu, GTK+ Version 3.18.8)
> of 2016-03-06 built on x240
> Windowing system distributor 'The X.Org Foundation', version 11.0.11801000
> System Description: Debian GNU/Linux testing (stretch)
>
> Configured using:
> 'configure --with-xwidgets'
>
> Configured features:
> XPM JPEG TIFF GIF PNG SOUND DBUS GSETTINGS NOTIFY LIBXML2 FREETYPE XFT
> ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XWIDGETS
>
> Important settings:
> value of $LANG: en_US.UTF-8
> locale-coding-system: utf-8-unix
>
> Major mode: Text
>
> Minor modes in effect:
> diff-auto-refine-mode: t
> tooltip-mode: t
> global-eldoc-mode: t
> electric-indent-mode: t
> mouse-wheel-mode: t
> tool-bar-mode: t
> menu-bar-mode: t
> file-name-shadow-mode: t
> global-font-lock-mode: t
> font-lock-mode: t
> blink-cursor-mode: t
> auto-composition-mode: t
> auto-encryption-mode: t
> auto-compression-mode: t
> line-number-mode: t
> transient-mark-mode: t
>
> Recent messages:
> Checking 24 files in /usr/local/share/emacs/25.0.92/lisp/cedet...
> Checking 57 files in /usr/local/share/emacs/25.0.92/lisp/calendar...
> Checking 87 files in /usr/local/share/emacs/25.0.92/lisp/calc...
> Checking 122 files in /usr/local/share/emacs/25.0.92/lisp/obsolete...
> Checking for load-path shadows...done
> Mark set
> Quit
> Mark set
> Undo! [2 times]
> C-? is undefined
>
> Load-path shadows:
> None found.
>
> Features:
> (pp shadow sort mail-extr emacsbug message format-spec rfc822 mml
> mml-sec epg epg-config gnus-util mm-decode mm-bodies mm-encode
> mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
> rfc2045 ietf-drums mm-util help-fns help-mode mail-prsvr mail-utils
> character-fold misearch multi-isearch dired-aux dired vc cl-loaddefs
> pcase cl-lib vc-dispatcher vc-git diff-mode easymenu easy-mmode
> time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
> lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset
> image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
> prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
> mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
> georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
> korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
> european ethiopic indian cyrillic chinese charscript case-table epa-hook
> jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
> loaddefs button faces cus-face macroexp files text-properties overlay
> sha1 md5 base64 format env code-pages mule custom widget
> hashtable-print-readable backquote dbusbind inotify dynamic-setting
> system-font-setting font-render-setting xwidget-internal move-toolbar
> gtk x-toolkit x multi-tty make-network-process emacs)
>
> Memory information:
> ((conses 16 100146 11720)
> (symbols 48 20341 0)
> (miscs 40 80 232)
> (strings 32 25082 16954)
> (string-bytes 1 545210)
> (vectors 16 13801)
> (vector-slots 8 492038 8651)
> (floats 8 176 77)
> (intervals 56 697 129)
> (buffers 976 18)
> (heap 1024 49938 2039))
--
João Távora