dgutov / diff-hl

Emacs package for highlighting uncommitted changes
GNU General Public License v3.0
914 stars 44 forks source link

Not work on emacs 30? #217

Closed zw963 closed 5 months ago

zw963 commented 5 months ago

when load diff-hl use the latest emacs 30 master(3d360205526), i get following error when require diff-hl.

Debugger entered--Lisp error: (wrong-type-argument obarrayp [nil nil nil nil nil nil nil nil nil nil nil nil nil])
  intern("diff-hl-revert-hunk" [nil nil nil nil nil nil nil nil nil nil nil nil nil])
  (let ((obj (intern (prin1-to-string (smartrep-unquote (cdr x))) oa))) (fset obj (smartrep-map alist)) (define-key keymap (read-kbd-macro (concat prefix " " (car x))) obj))
  (lambda (x) (let ((obj (intern (prin1-to-string (smartrep-unquote ...)) oa))) (fset obj (smartrep-map alist)) (define-key keymap (read-kbd-macro (concat prefix " " (car x))) obj)))(("n" . diff-hl-revert-hunk))
  mapc((lambda (x) (let ((obj (intern (prin1-to-string (smartrep-unquote ...)) oa))) (fset obj (smartrep-map alist)) (define-key keymap (read-kbd-macro (concat prefix " " (car x))) obj))) (("n" . diff-hl-revert-hunk) ("[" . diff-hl-previous-hunk) ("]" . diff-hl-next-hunk) ("S" . diff-hl-stage-dwim)))
  (let ((oa (make-vector 13 nil))) (mapc #'(lambda (x) (let ((obj (intern ... oa))) (fset obj (smartrep-map alist)) (define-key keymap (read-kbd-macro (concat prefix " " ...)) obj))) alist))
  smartrep-define-key((keymap (24 keymap (118 . diff-hl-command-map)) (remap keymap (vc-diff . diff-hl-diff-goto-hunk))) "\30v" (("n" . diff-hl-revert-hunk) ("[" . diff-hl-previous-hunk) ("]" . diff-hl-next-hunk) ("S" . diff-hl-stage-dwim)))
  (let (--cl-scan--) (setq --cl-scan-- #'(lambda (map) (map-keymap #'(lambda (event binding) (if ... ... ...)) map))) (funcall --cl-scan-- diff-hl-command-map) (smartrep-define-key diff-hl-mode-map diff-hl-command-prefix smart-keys))
  (let (smart-keys) (let (--cl-scan--) (setq --cl-scan-- #'(lambda (map) (map-keymap #'(lambda ... ...) map))) (funcall --cl-scan-- diff-hl-command-map) (smartrep-define-key diff-hl-mode-map diff-hl-command-prefix smart-keys)))
  (progn (let (smart-keys) (let (--cl-scan--) (setq --cl-scan-- #'(lambda (map) (map-keymap #'... map))) (funcall --cl-scan-- diff-hl-command-map) (smartrep-define-key diff-hl-mode-map diff-hl-command-prefix smart-keys))))
  (if (require 'smartrep nil t) (progn (let (smart-keys) (let (--cl-scan--) (setq --cl-scan-- #'(lambda (map) (map-keymap ... map))) (funcall --cl-scan-- diff-hl-command-map) (smartrep-define-key diff-hl-mode-map diff-hl-command-prefix smart-keys)))))
  #f(compiled-function (&optional buffer printflag filename unibyte do-allow-print) "Execute the accessible portion of current buffer as Lisp code.\nYou can use \\[narrow-to-region] to limit the part of buffer to be evaluated.\nWhen called from a Lisp program (i.e., not interactively), this\nfunction accepts up to five optional arguments:\nBUFFER is the buffer to evaluate (nil means use current buffer),\n or a name of a buffer (a string).\nPRINTFLAG controls printing of output by any output functions in the\n evaluated code, such as `print', `princ', and `prin1':\n  a value of nil means discard it; anything else is the stream to print to.\n  See Info node `(elisp)Output Streams' for details on streams.\nFILENAME specifies the file name to use for `load-history'.\nUNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this\n invocation.\nDO-ALLOW-PRINT, if non-nil, specifies that output functions in the\n evaluated code should work normally even if PRINTFLAG is nil, in\n which case the output is displayed in the echo area.\n\nThis function ignores the current value of the `lexical-binding'\nvariable.  Instead it will heed any\n  -*- lexical-binding: t -*-\nsettings in the buffer, and if there is no such setting, the buffer\nwill be evaluated without lexical binding.\n\nThis function preserves the position of point." (interactive "") #<bytecode 0x122a46c2900f>)(#<buffer  *load*-507800> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl.el" nil t)
  apply(#f(compiled-function (&optional buffer printflag filename unibyte do-allow-print) "Execute the accessible portion of current buffer as Lisp code.\nYou can use \\[narrow-to-region] to limit the part of buffer to be evaluated.\nWhen called from a Lisp program (i.e., not interactively), this\nfunction accepts up to five optional arguments:\nBUFFER is the buffer to evaluate (nil means use current buffer),\n or a name of a buffer (a string).\nPRINTFLAG controls printing of output by any output functions in the\n evaluated code, such as `print', `princ', and `prin1':\n  a value of nil means discard it; anything else is the stream to print to.\n  See Info node `(elisp)Output Streams' for details on streams.\nFILENAME specifies the file name to use for `load-history'.\nUNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this\n invocation.\nDO-ALLOW-PRINT, if non-nil, specifies that output functions in the\n evaluated code should work normally even if PRINTFLAG is nil, in\n which case the output is displayed in the echo area.\n\nThis function ignores the current value of the `lexical-binding'\nvariable.  Instead it will heed any\n  -*- lexical-binding: t -*-\nsettings in the buffer, and if there is no such setting, the buffer\nwill be evaluated without lexical binding.\n\nThis function preserves the position of point." (interactive "") #<bytecode 0x122a46c2900f>) (#<buffer  *load*-507800> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl.el" nil t))
  eval-buffer(#<buffer  *load*-507800> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl.el" nil t)  ; Reading at buffer position 37422
  load-with-code-conversion("/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl.el" "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl.el" nil t)
  #f(compiled-function (feature &optional filename noerror) "If FEATURE is not already loaded, load it from FILENAME.\nIf FEATURE is not a member of the list `features', then the feature was\nnot yet loaded; so load it from file FILENAME.\n\nIf FILENAME is omitted, the printname of FEATURE is used as the file\nname, and `load' is called to try to load the file by that name, after\nappending the suffix `.elc', `.el', or the system-dependent suffix for\ndynamic module files, in that order; but the function will not try to\nload the file without any suffix.  See `get-load-suffixes' for the\ncomplete list of suffixes.\n\nTo find the file, this function searches the directories in `load-path'.\n\nIf the optional third argument NOERROR is non-nil, then, if\nthe file is not found, the function returns nil instead of signaling\nan error.  Normally the return value is FEATURE.\n\nThe normal messages issued by `load' at start and end of loading\nFILENAME are suppressed." #<bytecode 0x122a46c28871>)(diff-hl)
  apply(#f(compiled-function (feature &optional filename noerror) "If FEATURE is not already loaded, load it from FILENAME.\nIf FEATURE is not a member of the list `features', then the feature was\nnot yet loaded; so load it from file FILENAME.\n\nIf FILENAME is omitted, the printname of FEATURE is used as the file\nname, and `load' is called to try to load the file by that name, after\nappending the suffix `.elc', `.el', or the system-dependent suffix for\ndynamic module files, in that order; but the function will not try to\nload the file without any suffix.  See `get-load-suffixes' for the\ncomplete list of suffixes.\n\nTo find the file, this function searches the directories in `load-path'.\n\nIf the optional third argument NOERROR is non-nil, then, if\nthe file is not found, the function returns nil instead of signaling\nan error.  Normally the return value is FEATURE.\n\nThe normal messages issued by `load' at start and end of loading\nFILENAME are suppressed." #<bytecode 0x122a46c28871>) diff-hl)
  require(diff-hl)
  #f(compiled-function (&optional buffer printflag filename unibyte do-allow-print) "Execute the accessible portion of current buffer as Lisp code.\nYou can use \\[narrow-to-region] to limit the part of buffer to be evaluated.\nWhen called from a Lisp program (i.e., not interactively), this\nfunction accepts up to five optional arguments:\nBUFFER is the buffer to evaluate (nil means use current buffer),\n or a name of a buffer (a string).\nPRINTFLAG controls printing of output by any output functions in the\n evaluated code, such as `print', `princ', and `prin1':\n  a value of nil means discard it; anything else is the stream to print to.\n  See Info node `(elisp)Output Streams' for details on streams.\nFILENAME specifies the file name to use for `load-history'.\nUNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this\n invocation.\nDO-ALLOW-PRINT, if non-nil, specifies that output functions in the\n evaluated code should work normally even if PRINTFLAG is nil, in\n which case the output is displayed in the echo area.\n\nThis function ignores the current value of the `lexical-binding'\nvariable.  Instead it will heed any\n  -*- lexical-binding: t -*-\nsettings in the buffer, and if there is no such setting, the buffer\nwill be evaluated without lexical binding.\n\nThis function preserves the position of point." (interactive "") #<bytecode 0x122a46c2900f>)(#<buffer  *load*-605927> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl_init.el" nil t)
  apply(#f(compiled-function (&optional buffer printflag filename unibyte do-allow-print) "Execute the accessible portion of current buffer as Lisp code.\nYou can use \\[narrow-to-region] to limit the part of buffer to be evaluated.\nWhen called from a Lisp program (i.e., not interactively), this\nfunction accepts up to five optional arguments:\nBUFFER is the buffer to evaluate (nil means use current buffer),\n or a name of a buffer (a string).\nPRINTFLAG controls printing of output by any output functions in the\n evaluated code, such as `print', `princ', and `prin1':\n  a value of nil means discard it; anything else is the stream to print to.\n  See Info node `(elisp)Output Streams' for details on streams.\nFILENAME specifies the file name to use for `load-history'.\nUNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this\n invocation.\nDO-ALLOW-PRINT, if non-nil, specifies that output functions in the\n evaluated code should work normally even if PRINTFLAG is nil, in\n which case the output is displayed in the echo area.\n\nThis function ignores the current value of the `lexical-binding'\nvariable.  Instead it will heed any\n  -*- lexical-binding: t -*-\nsettings in the buffer, and if there is no such setting, the buffer\nwill be evaluated without lexical binding.\n\nThis function preserves the position of point." (interactive "") #<bytecode 0x122a46c2900f>) (#<buffer  *load*-605927> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl_init.el" nil t))
  eval-buffer(#<buffer  *load*-605927> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl_init.el" nil t)  ; Reading at buffer position 19
  load-with-code-conversion("/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl_init.el" "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl_init.el" nil t)
  #f(compiled-function (feature &optional filename noerror) "If FEATURE is not already loaded, load it from FILENAME.\nIf FEATURE is not a member of the list `features', then the feature was\nnot yet loaded; so load it from file FILENAME.\n\nIf FILENAME is omitted, the printname of FEATURE is used as the file\nname, and `load' is called to try to load the file by that name, after\nappending the suffix `.elc', `.el', or the system-dependent suffix for\ndynamic module files, in that order; but the function will not try to\nload the file without any suffix.  See `get-load-suffixes' for the\ncomplete list of suffixes.\n\nTo find the file, this function searches the directories in `load-path'.\n\nIf the optional third argument NOERROR is non-nil, then, if\nthe file is not found, the function returns nil instead of signaling\nan error.  Normally the return value is FEATURE.\n\nThe normal messages issued by `load' at start and end of loading\nFILENAME are suppressed." #<bytecode 0x122a46c28871>)(diff-hl_init)
  apply(#f(compiled-function (feature &optional filename noerror) "If FEATURE is not already loaded, load it from FILENAME.\nIf FEATURE is not a member of the list `features', then the feature was\nnot yet loaded; so load it from file FILENAME.\n\nIf FILENAME is omitted, the printname of FEATURE is used as the file\nname, and `load' is called to try to load the file by that name, after\nappending the suffix `.elc', `.el', or the system-dependent suffix for\ndynamic module files, in that order; but the function will not try to\nload the file without any suffix.  See `get-load-suffixes' for the\ncomplete list of suffixes.\n\nTo find the file, this function searches the directories in `load-path'.\n\nIf the optional third argument NOERROR is non-nil, then, if\nthe file is not found, the function returns nil instead of signaling\nan error.  Normally the return value is FEATURE.\n\nThe normal messages issued by `load' at start and end of loading\nFILENAME are suppressed." #<bytecode 0x122a46c28871>) diff-hl_init)
  require(diff-hl_init)
  eval((require 'diff-hl_init) nil)
  elisp--eval-last-sexp(nil)
  #f(compiled-function () #<bytecode 0x7adf6be03552>)()
  #f(compiled-function (eval-last-sexp-arg-internal) "Evaluate sexp before point; print value in the echo area.\nInteractively, EVAL-LAST-SEXP-ARG-INTERNAL is the prefix argument.\nWith a non `-' prefix argument, print output into current buffer.\n\nThis commands handles `defvar', `defcustom' and `defface' the\nsame way that `eval-defun' does.  See the doc string of that\nfunction for details.\n\nNormally, this function truncates long output according to the\nvalue of the variables `eval-expression-print-length' and\n`eval-expression-print-level'.  With a prefix argument of zero,\nhowever, there is no such truncation.\nInteger values are printed in several formats (decimal, octal,\nand hexadecimal).  When the prefix argument is -1 or the value\ndoesn't exceed `eval-expression-print-maximum-character', an\ninteger value is also printed as a character of that codepoint.\n\nIf `eval-expression-debug-on-error' is non-nil, which is the default,\nthis command arranges for all errors to enter the debugger." (interactive "P") #<bytecode 0x1b0b0b586f5f>)(nil)
  apply(#f(compiled-function (eval-last-sexp-arg-internal) "Evaluate sexp before point; print value in the echo area.\nInteractively, EVAL-LAST-SEXP-ARG-INTERNAL is the prefix argument.\nWith a non `-' prefix argument, print output into current buffer.\n\nThis commands handles `defvar', `defcustom' and `defface' the\nsame way that `eval-defun' does.  See the doc string of that\nfunction for details.\n\nNormally, this function truncates long output according to the\nvalue of the variables `eval-expression-print-length' and\n`eval-expression-print-level'.  With a prefix argument of zero,\nhowever, there is no such truncation.\nInteger values are printed in several formats (decimal, octal,\nand hexadecimal).  When the prefix argument is -1 or the value\ndoesn't exceed `eval-expression-print-maximum-character', an\ninteger value is also printed as a character of that codepoint.\n\nIf `eval-expression-debug-on-error' is non-nil, which is the default,\nthis command arranges for all errors to enter the debugger." (interactive "P") #<bytecode 0x1b0b0b586f5f>) nil)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  #f(compiled-function (cmd &optional record-flag keys special) "Execute CMD as an editor command.\nCMD must be a symbol that satisfies the `commandp' predicate.\n\nOptional second arg RECORD-FLAG non-nil means unconditionally put\nthis command in the variable `command-history'.  Otherwise, that\nis done only if an arg is read using the minibuffer.\n\nThe argument KEYS specifies the value to use instead of the\nreturn value of the `this-command-keys' function when reading the\narguments; if it is nil, `this-command-keys' is used.\n\nThe argument SPECIAL, if non-nil, means that this command is\nexecuting a special event, so ignore the prefix argument and\ndon't clear it." #<bytecode 0x1b0b0b499a46>)(eval-last-sexp nil nil nil)
  ad-Advice-command-execute(#f(compiled-function (cmd &optional record-flag keys special) "Execute CMD as an editor command.\nCMD must be a symbol that satisfies the `commandp' predicate.\n\nOptional second arg RECORD-FLAG non-nil means unconditionally put\nthis command in the variable `command-history'.  Otherwise, that\nis done only if an arg is read using the minibuffer.\n\nThe argument KEYS specifies the value to use instead of the\nreturn value of the `this-command-keys' function when reading the\narguments; if it is nil, `this-command-keys' is used.\n\nThe argument SPECIAL, if non-nil, means that this command is\nexecuting a special event, so ignore the prefix argument and\ndon't clear it." #<bytecode 0x1b0b0b499a46>) eval-last-sexp)
  apply(ad-Advice-command-execute #f(compiled-function (cmd &optional record-flag keys special) "Execute CMD as an editor command.\nCMD must be a symbol that satisfies the `commandp' predicate.\n\nOptional second arg RECORD-FLAG non-nil means unconditionally put\nthis command in the variable `command-history'.  Otherwise, that\nis done only if an arg is read using the minibuffer.\n\nThe argument KEYS specifies the value to use instead of the\nreturn value of the `this-command-keys' function when reading the\narguments; if it is nil, `this-command-keys' is used.\n\nThe argument SPECIAL, if non-nil, means that this command is\nexecuting a special event, so ignore the prefix argument and\ndon't clear it." #<bytecode 0x1b0b0b499a46>) eval-last-sexp)
  command-execute(eval-last-sexp)
  recursive-edit()
  debug(error (wrong-type-argument obarrayp [nil nil nil nil nil nil nil nil nil nil nil nil nil]) :backtrace-base eval-expression--debug)
  eval-expression--debug((wrong-type-argument obarrayp [nil nil nil nil nil nil nil nil nil nil nil nil nil]))
  intern("back-button-local-forward" [nil nil nil nil nil nil nil nil nil nil nil nil nil])
  (let ((obj (intern (prin1-to-string (smartrep-unquote (cdr x))) oa))) (fset obj (smartrep-map alist)) (define-key keymap (read-kbd-macro (concat prefix " " (car x))) obj))
  (lambda (x) (let ((obj (intern (prin1-to-string (smartrep-unquote ...)) oa))) (fset obj (smartrep-map alist)) (define-key keymap (read-kbd-macro (concat prefix " " (car x))) obj)))(("<right>" . back-button-local-forward))
  mapc((lambda (x) (let ((obj (intern (prin1-to-string (smartrep-unquote ...)) oa))) (fset obj (smartrep-map alist)) (define-key keymap (read-kbd-macro (concat prefix " " (car x))) obj))) (("<right>" . back-button-local-forward) ("<left>" . back-button-local-backward) ("<C-right>" . back-button-global-forward) ("<C-left>" . back-button-global-backward) ("<C-SPC>" . back-button-global)))
  (let ((oa (make-vector 13 nil))) (mapc #'(lambda (x) (let ((obj (intern ... oa))) (fset obj (smartrep-map alist)) (define-key keymap (read-kbd-macro (concat prefix " " ...)) obj))) alist))
  smartrep-define-key((keymap) "C-x" (("<right>" . back-button-local-forward) ("<left>" . back-button-local-backward) ("<C-right>" . back-button-global-forward) ("<C-left>" . back-button-global-backward) ("<C-SPC>" . back-button-global)))
  (progn (smartrep-define-key back-button-mode-map back-button-smartrep-prefix smart-keys))
  (if smart-keys (progn (smartrep-define-key back-button-mode-map back-button-smartrep-prefix smart-keys)))
  (let ((smart-keys nil)) (let ((tail back-button-commands)) (while tail (let ((cmd (car tail))) (let ((tail (symbol-value ...))) (while tail (let (...) (if ... ...) (if ... ... ...) (setq tail ...)))) (setq tail (cdr tail))))) (if smart-keys (progn (smartrep-define-key back-button-mode-map back-button-smartrep-prefix smart-keys))))
  #f(compiled-function (&optional buffer printflag filename unibyte do-allow-print) "Execute the accessible portion of current buffer as Lisp code.\nYou can use \\[narrow-to-region] to limit the part of buffer to be evaluated.\nWhen called from a Lisp program (i.e., not interactively), this\nfunction accepts up to five optional arguments:\nBUFFER is the buffer to evaluate (nil means use current buffer),\n or a name of a buffer (a string).\nPRINTFLAG controls printing of output by any output functions in the\n evaluated code, such as `print', `princ', and `prin1':\n  a value of nil means discard it; anything else is the stream to print to.\n  See Info node `(elisp)Output Streams' for details on streams.\nFILENAME specifies the file name to use for `load-history'.\nUNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this\n invocation.\nDO-ALLOW-PRINT, if non-nil, specifies that output functions in the\n evaluated code should work normally even if PRINTFLAG is nil, in\n which case the output is displayed in the echo area.\n\nThis function ignores the current value of the `lexical-binding'\nvariable.  Instead it will heed any\n  -*- lexical-binding: t -*-\nsettings in the buffer, and if there is no such setting, the buffer\nwill be evaluated without lexical binding.\n\nThis function preserves the position of point." (interactive "") #<bytecode 0x122a46c2900f>)(#<buffer  *load*-77590> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/back-button/back-button.el" nil t)
  apply(#f(compiled-function (&optional buffer printflag filename unibyte do-allow-print) "Execute the accessible portion of current buffer as Lisp code.\nYou can use \\[narrow-to-region] to limit the part of buffer to be evaluated.\nWhen called from a Lisp program (i.e., not interactively), this\nfunction accepts up to five optional arguments:\nBUFFER is the buffer to evaluate (nil means use current buffer),\n or a name of a buffer (a string).\nPRINTFLAG controls printing of output by any output functions in the\n evaluated code, such as `print', `princ', and `prin1':\n  a value of nil means discard it; anything else is the stream to print to.\n  See Info node `(elisp)Output Streams' for details on streams.\nFILENAME specifies the file name to use for `load-history'.\nUNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this\n invocation.\nDO-ALLOW-PRINT, if non-nil, specifies that output functions in the\n evaluated code should work normally even if PRINTFLAG is nil, in\n which case the output is displayed in the echo area.\n\nThis function ignores the current value of the `lexical-binding'\nvariable.  Instead it will heed any\n  -*- lexical-binding: t -*-\nsettings in the buffer, and if there is no such setting, the buffer\nwill be evaluated without lexical binding.\n\nThis function preserves the position of point." (interactive "") #<bytecode 0x122a46c2900f>) (#<buffer  *load*-77590> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/back-button/back-button.el" nil t))
  eval-buffer(#<buffer  *load*-77590> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/back-button/back-button.el" nil t)  ; Reading at buffer position 16584
  load-with-code-conversion("/home/zw963/Dropbox/common/.emacs.d/plugins/back-button/back-button.el" "/home/zw963/Dropbox/common/.emacs.d/plugins/back-button/back-button.el" nil t)
  #f(compiled-function (feature &optional filename noerror) "If FEATURE is not already loaded, load it from FILENAME.\nIf FEATURE is not a member of the list `features', then the feature was\nnot yet loaded; so load it from file FILENAME.\n\nIf FILENAME is omitted, the printname of FEATURE is used as the file\nname, and `load' is called to try to load the file by that name, after\nappending the suffix `.elc', `.el', or the system-dependent suffix for\ndynamic module files, in that order; but the function will not try to\nload the file without any suffix.  See `get-load-suffixes' for the\ncomplete list of suffixes.\n\nTo find the file, this function searches the directories in `load-path'.\n\nIf the optional third argument NOERROR is non-nil, then, if\nthe file is not found, the function returns nil instead of signaling\nan error.  Normally the return value is FEATURE.\n\nThe normal messages issued by `load' at start and end of loading\nFILENAME are suppressed." #<bytecode 0x122a46c28871>)(back-button)
  apply(#f(compiled-function (feature &optional filename noerror) "If FEATURE is not already loaded, load it from FILENAME.\nIf FEATURE is not a member of the list `features', then the feature was\nnot yet loaded; so load it from file FILENAME.\n\nIf FILENAME is omitted, the printname of FEATURE is used as the file\nname, and `load' is called to try to load the file by that name, after\nappending the suffix `.elc', `.el', or the system-dependent suffix for\ndynamic module files, in that order; but the function will not try to\nload the file without any suffix.  See `get-load-suffixes' for the\ncomplete list of suffixes.\n\nTo find the file, this function searches the directories in `load-path'.\n\nIf the optional third argument NOERROR is non-nil, then, if\nthe file is not found, the function returns nil instead of signaling\nan error.  Normally the return value is FEATURE.\n\nThe normal messages issued by `load' at start and end of loading\nFILENAME are suppressed." #<bytecode 0x122a46c28871>) back-button)
  require(back-button)
  #f(compiled-function (&optional buffer printflag filename unibyte do-allow-print) "Execute the accessible portion of current buffer as Lisp code.\nYou can use \\[narrow-to-region] to limit the part of buffer to be evaluated.\nWhen called from a Lisp program (i.e., not interactively), this\nfunction accepts up to five optional arguments:\nBUFFER is the buffer to evaluate (nil means use current buffer),\n or a name of a buffer (a string).\nPRINTFLAG controls printing of output by any output functions in the\n evaluated code, such as `print', `princ', and `prin1':\n  a value of nil means discard it; anything else is the stream to print to.\n  See Info node `(elisp)Output Streams' for details on streams.\nFILENAME specifies the file name to use for `load-history'.\nUNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this\n invocation.\nDO-ALLOW-PRINT, if non-nil, specifies that output functions in the\n evaluated code should work normally even if PRINTFLAG is nil, in\n which case the output is displayed in the echo area.\n\nThis function ignores the current value of the `lexical-binding'\nvariable.  Instead it will heed any\n  -*- lexical-binding: t -*-\nsettings in the buffer, and if there is no such setting, the buffer\nwill be evaluated without lexical binding.\n\nThis function preserves the position of point." (interactive "") #<bytecode 0x122a46c2900f>)(#<buffer  *load*-864378> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/back-button/back-button_init.el" nil t)
  apply(#f(compiled-function (&optional buffer printflag filename unibyte do-allow-print) "Execute the accessible portion of current buffer as Lisp code.\nYou can use \\[narrow-to-region] to limit the part of buffer to be evaluated.\nWhen called from a Lisp program (i.e., not interactively), this\nfunction accepts up to five optional arguments:\nBUFFER is the buffer to evaluate (nil means use current buffer),\n or a name of a buffer (a string).\nPRINTFLAG controls printing of output by any output functions in the\n evaluated code, such as `print', `princ', and `prin1':\n  a value of nil means discard it; anything else is the stream to print to.\n  See Info node `(elisp)Output Streams' for details on streams.\nFILENAME specifies the file name to use for `load-history'.\nUNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this\n invocation.\nDO-ALLOW-PRINT, if non-nil, specifies that output functions in the\n evaluated code should work normally even if PRINTFLAG is nil, in\n which case the output is displayed in the echo area.\n\nThis function ignores the current value of the `lexical-binding'\nvariable.  Instead it will heed any\n  -*- lexical-binding: t -*-\nsettings in the buffer, and if there is no such setting, the buffer\nwill be evaluated without lexical binding.\n\nThis function preserves the position of point." (interactive "") #<bytecode 0x122a46c2900f>) (#<buffer  *load*-864378> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/back-button/back-button_init.el" nil t))
  eval-buffer(#<buffer  *load*-864378> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/back-button/back-button_init.el" nil t)  ; Reading at buffer position 64
  load-with-code-conversion("/home/zw963/Dropbox/common/.emacs.d/plugins/back-button/back-button_init.el" "/home/zw963/Dropbox/common/.emacs.d/plugins/back-button/back-button_init.el" nil t)
  #f(compiled-function (feature &optional filename noerror) "If FEATURE is not already loaded, load it from FILENAME.\nIf FEATURE is not a member of the list `features', then the feature was\nnot yet loaded; so load it from file FILENAME.\n\nIf FILENAME is omitted, the printname of FEATURE is used as the file\nname, and `load' is called to try to load the file by that name, after\nappending the suffix `.elc', `.el', or the system-dependent suffix for\ndynamic module files, in that order; but the function will not try to\nload the file without any suffix.  See `get-load-suffixes' for the\ncomplete list of suffixes.\n\nTo find the file, this function searches the directories in `load-path'.\n\nIf the optional third argument NOERROR is non-nil, then, if\nthe file is not found, the function returns nil instead of signaling\nan error.  Normally the return value is FEATURE.\n\nThe normal messages issued by `load' at start and end of loading\nFILENAME are suppressed." #<bytecode 0x122a46c28871>)(back-button_init)
  apply(#f(compiled-function (feature &optional filename noerror) "If FEATURE is not already loaded, load it from FILENAME.\nIf FEATURE is not a member of the list `features', then the feature was\nnot yet loaded; so load it from file FILENAME.\n\nIf FILENAME is omitted, the printname of FEATURE is used as the file\nname, and `load' is called to try to load the file by that name, after\nappending the suffix `.elc', `.el', or the system-dependent suffix for\ndynamic module files, in that order; but the function will not try to\nload the file without any suffix.  See `get-load-suffixes' for the\ncomplete list of suffixes.\n\nTo find the file, this function searches the directories in `load-path'.\n\nIf the optional third argument NOERROR is non-nil, then, if\nthe file is not found, the function returns nil instead of signaling\nan error.  Normally the return value is FEATURE.\n\nThe normal messages issued by `load' at start and end of loading\nFILENAME are suppressed." #<bytecode 0x122a46c28871>) back-button_init)
  require(back-button_init)
  (progn (require 'back-button_init))
  eval((progn (require 'back-button_init)) t)
  elisp--eval-last-sexp(nil)
  #f(compiled-function () #<bytecode 0x7adf6be03552>)()
  #f(compiled-function (eval-last-sexp-arg-internal) "Evaluate sexp before point; print value in the echo area.\nInteractively, EVAL-LAST-SEXP-ARG-INTERNAL is the prefix argument.\nWith a non `-' prefix argument, print output into current buffer.\n\nThis commands handles `defvar', `defcustom' and `defface' the\nsame way that `eval-defun' does.  See the doc string of that\nfunction for details.\n\nNormally, this function truncates long output according to the\nvalue of the variables `eval-expression-print-length' and\n`eval-expression-print-level'.  With a prefix argument of zero,\nhowever, there is no such truncation.\nInteger values are printed in several formats (decimal, octal,\nand hexadecimal).  When the prefix argument is -1 or the value\ndoesn't exceed `eval-expression-print-maximum-character', an\ninteger value is also printed as a character of that codepoint.\n\nIf `eval-expression-debug-on-error' is non-nil, which is the default,\nthis command arranges for all errors to enter the debugger." (interactive "P") #<bytecode 0x1b0b0b586f5f>)(nil)
  apply(#f(compiled-function (eval-last-sexp-arg-internal) "Evaluate sexp before point; print value in the echo area.\nInteractively, EVAL-LAST-SEXP-ARG-INTERNAL is the prefix argument.\nWith a non `-' prefix argument, print output into current buffer.\n\nThis commands handles `defvar', `defcustom' and `defface' the\nsame way that `eval-defun' does.  See the doc string of that\nfunction for details.\n\nNormally, this function truncates long output according to the\nvalue of the variables `eval-expression-print-length' and\n`eval-expression-print-level'.  With a prefix argument of zero,\nhowever, there is no such truncation.\nInteger values are printed in several formats (decimal, octal,\nand hexadecimal).  When the prefix argument is -1 or the value\ndoesn't exceed `eval-expression-print-maximum-character', an\ninteger value is also printed as a character of that codepoint.\n\nIf `eval-expression-debug-on-error' is non-nil, which is the default,\nthis command arranges for all errors to enter the debugger." (interactive "P") #<bytecode 0x1b0b0b586f5f>) nil)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  #f(compiled-function (cmd &optional record-flag keys special) "Execute CMD as an editor command.\nCMD must be a symbol that satisfies the `commandp' predicate.\n\nOptional second arg RECORD-FLAG non-nil means unconditionally put\nthis command in the variable `command-history'.  Otherwise, that\nis done only if an arg is read using the minibuffer.\n\nThe argument KEYS specifies the value to use instead of the\nreturn value of the `this-command-keys' function when reading the\narguments; if it is nil, `this-command-keys' is used.\n\nThe argument SPECIAL, if non-nil, means that this command is\nexecuting a special event, so ignore the prefix argument and\ndon't clear it." #<bytecode 0x1b0b0b499a46>)(eval-last-sexp nil nil nil)
  ad-Advice-command-execute(#f(compiled-function (cmd &optional record-flag keys special) "Execute CMD as an editor command.\nCMD must be a symbol that satisfies the `commandp' predicate.\n\nOptional second arg RECORD-FLAG non-nil means unconditionally put\nthis command in the variable `command-history'.  Otherwise, that\nis done only if an arg is read using the minibuffer.\n\nThe argument KEYS specifies the value to use instead of the\nreturn value of the `this-command-keys' function when reading the\narguments; if it is nil, `this-command-keys' is used.\n\nThe argument SPECIAL, if non-nil, means that this command is\nexecuting a special event, so ignore the prefix argument and\ndon't clear it." #<bytecode 0x1b0b0b499a46>) eval-last-sexp)
  apply(ad-Advice-command-execute #f(compiled-function (cmd &optional record-flag keys special) "Execute CMD as an editor command.\nCMD must be a symbol that satisfies the `commandp' predicate.\n\nOptional second arg RECORD-FLAG non-nil means unconditionally put\nthis command in the variable `command-history'.  Otherwise, that\nis done only if an arg is read using the minibuffer.\n\nThe argument KEYS specifies the value to use instead of the\nreturn value of the `this-command-keys' function when reading the\narguments; if it is nil, `this-command-keys' is used.\n\nThe argument SPECIAL, if non-nil, means that this command is\nexecuting a special event, so ignore the prefix argument and\ndon't clear it." #<bytecode 0x1b0b0b499a46>) eval-last-sexp)
  command-execute(eval-last-sexp)
  recursive-edit()
  debug(error (wrong-type-argument obarrayp [nil nil nil nil nil nil nil nil nil nil nil nil nil]) :backtrace-base eval-expression--debug)
  eval-expression--debug((wrong-type-argument obarrayp [nil nil nil nil nil nil nil nil nil nil nil nil nil]))
  intern("diff-hl-revert-hunk" [nil nil nil nil nil nil nil nil nil nil nil nil nil])
  (let ((obj (intern (prin1-to-string (smartrep-unquote (cdr x))) oa))) (fset obj (smartrep-map alist)) (define-key keymap (read-kbd-macro (concat prefix " " (car x))) obj))
  (lambda (x) (let ((obj (intern (prin1-to-string (smartrep-unquote ...)) oa))) (fset obj (smartrep-map alist)) (define-key keymap (read-kbd-macro (concat prefix " " (car x))) obj)))(("n" . diff-hl-revert-hunk))
  mapc((lambda (x) (let ((obj (intern (prin1-to-string (smartrep-unquote ...)) oa))) (fset obj (smartrep-map alist)) (define-key keymap (read-kbd-macro (concat prefix " " (car x))) obj))) (("n" . diff-hl-revert-hunk) ("[" . diff-hl-previous-hunk) ("]" . diff-hl-next-hunk) ("S" . diff-hl-stage-dwim)))
  (let ((oa (make-vector 13 nil))) (mapc #'(lambda (x) (let ((obj (intern ... oa))) (fset obj (smartrep-map alist)) (define-key keymap (read-kbd-macro (concat prefix " " ...)) obj))) alist))
  smartrep-define-key((keymap (24 keymap (118 . diff-hl-command-map)) (remap keymap (vc-diff . diff-hl-diff-goto-hunk))) "\30v" (("n" . diff-hl-revert-hunk) ("[" . diff-hl-previous-hunk) ("]" . diff-hl-next-hunk) ("S" . diff-hl-stage-dwim)))
  (let (--cl-scan--) (setq --cl-scan-- #'(lambda (map) (map-keymap #'(lambda (event binding) (if ... ... ...)) map))) (funcall --cl-scan-- diff-hl-command-map) (smartrep-define-key diff-hl-mode-map diff-hl-command-prefix smart-keys))
  (let (smart-keys) (let (--cl-scan--) (setq --cl-scan-- #'(lambda (map) (map-keymap #'(lambda ... ...) map))) (funcall --cl-scan-- diff-hl-command-map) (smartrep-define-key diff-hl-mode-map diff-hl-command-prefix smart-keys)))
  (progn (let (smart-keys) (let (--cl-scan--) (setq --cl-scan-- #'(lambda (map) (map-keymap #'... map))) (funcall --cl-scan-- diff-hl-command-map) (smartrep-define-key diff-hl-mode-map diff-hl-command-prefix smart-keys))))
  (if (require 'smartrep nil t) (progn (let (smart-keys) (let (--cl-scan--) (setq --cl-scan-- #'(lambda (map) (map-keymap ... map))) (funcall --cl-scan-- diff-hl-command-map) (smartrep-define-key diff-hl-mode-map diff-hl-command-prefix smart-keys)))))
  #f(compiled-function (&optional buffer printflag filename unibyte do-allow-print) "Execute the accessible portion of current buffer as Lisp code.\nYou can use \\[narrow-to-region] to limit the part of buffer to be evaluated.\nWhen called from a Lisp program (i.e., not interactively), this\nfunction accepts up to five optional arguments:\nBUFFER is the buffer to evaluate (nil means use current buffer),\n or a name of a buffer (a string).\nPRINTFLAG controls printing of output by any output functions in the\n evaluated code, such as `print', `princ', and `prin1':\n  a value of nil means discard it; anything else is the stream to print to.\n  See Info node `(elisp)Output Streams' for details on streams.\nFILENAME specifies the file name to use for `load-history'.\nUNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this\n invocation.\nDO-ALLOW-PRINT, if non-nil, specifies that output functions in the\n evaluated code should work normally even if PRINTFLAG is nil, in\n which case the output is displayed in the echo area.\n\nThis function ignores the current value of the `lexical-binding'\nvariable.  Instead it will heed any\n  -*- lexical-binding: t -*-\nsettings in the buffer, and if there is no such setting, the buffer\nwill be evaluated without lexical binding.\n\nThis function preserves the position of point." (interactive "") #<bytecode 0x122a46c2900f>)(#<buffer  *load*-29638> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl.el" nil t)
  apply(#f(compiled-function (&optional buffer printflag filename unibyte do-allow-print) "Execute the accessible portion of current buffer as Lisp code.\nYou can use \\[narrow-to-region] to limit the part of buffer to be evaluated.\nWhen called from a Lisp program (i.e., not interactively), this\nfunction accepts up to five optional arguments:\nBUFFER is the buffer to evaluate (nil means use current buffer),\n or a name of a buffer (a string).\nPRINTFLAG controls printing of output by any output functions in the\n evaluated code, such as `print', `princ', and `prin1':\n  a value of nil means discard it; anything else is the stream to print to.\n  See Info node `(elisp)Output Streams' for details on streams.\nFILENAME specifies the file name to use for `load-history'.\nUNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this\n invocation.\nDO-ALLOW-PRINT, if non-nil, specifies that output functions in the\n evaluated code should work normally even if PRINTFLAG is nil, in\n which case the output is displayed in the echo area.\n\nThis function ignores the current value of the `lexical-binding'\nvariable.  Instead it will heed any\n  -*- lexical-binding: t -*-\nsettings in the buffer, and if there is no such setting, the buffer\nwill be evaluated without lexical binding.\n\nThis function preserves the position of point." (interactive "") #<bytecode 0x122a46c2900f>) (#<buffer  *load*-29638> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl.el" nil t))
  eval-buffer(#<buffer  *load*-29638> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl.el" nil t)  ; Reading at buffer position 37422
  load-with-code-conversion("/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl.el" "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl.el" nil t)
  #f(compiled-function (feature &optional filename noerror) "If FEATURE is not already loaded, load it from FILENAME.\nIf FEATURE is not a member of the list `features', then the feature was\nnot yet loaded; so load it from file FILENAME.\n\nIf FILENAME is omitted, the printname of FEATURE is used as the file\nname, and `load' is called to try to load the file by that name, after\nappending the suffix `.elc', `.el', or the system-dependent suffix for\ndynamic module files, in that order; but the function will not try to\nload the file without any suffix.  See `get-load-suffixes' for the\ncomplete list of suffixes.\n\nTo find the file, this function searches the directories in `load-path'.\n\nIf the optional third argument NOERROR is non-nil, then, if\nthe file is not found, the function returns nil instead of signaling\nan error.  Normally the return value is FEATURE.\n\nThe normal messages issued by `load' at start and end of loading\nFILENAME are suppressed." #<bytecode 0x122a46c28871>)(diff-hl)
  apply(#f(compiled-function (feature &optional filename noerror) "If FEATURE is not already loaded, load it from FILENAME.\nIf FEATURE is not a member of the list `features', then the feature was\nnot yet loaded; so load it from file FILENAME.\n\nIf FILENAME is omitted, the printname of FEATURE is used as the file\nname, and `load' is called to try to load the file by that name, after\nappending the suffix `.elc', `.el', or the system-dependent suffix for\ndynamic module files, in that order; but the function will not try to\nload the file without any suffix.  See `get-load-suffixes' for the\ncomplete list of suffixes.\n\nTo find the file, this function searches the directories in `load-path'.\n\nIf the optional third argument NOERROR is non-nil, then, if\nthe file is not found, the function returns nil instead of signaling\nan error.  Normally the return value is FEATURE.\n\nThe normal messages issued by `load' at start and end of loading\nFILENAME are suppressed." #<bytecode 0x122a46c28871>) diff-hl)
  require(diff-hl)
  #f(compiled-function (&optional buffer printflag filename unibyte do-allow-print) "Execute the accessible portion of current buffer as Lisp code.\nYou can use \\[narrow-to-region] to limit the part of buffer to be evaluated.\nWhen called from a Lisp program (i.e., not interactively), this\nfunction accepts up to five optional arguments:\nBUFFER is the buffer to evaluate (nil means use current buffer),\n or a name of a buffer (a string).\nPRINTFLAG controls printing of output by any output functions in the\n evaluated code, such as `print', `princ', and `prin1':\n  a value of nil means discard it; anything else is the stream to print to.\n  See Info node `(elisp)Output Streams' for details on streams.\nFILENAME specifies the file name to use for `load-history'.\nUNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this\n invocation.\nDO-ALLOW-PRINT, if non-nil, specifies that output functions in the\n evaluated code should work normally even if PRINTFLAG is nil, in\n which case the output is displayed in the echo area.\n\nThis function ignores the current value of the `lexical-binding'\nvariable.  Instead it will heed any\n  -*- lexical-binding: t -*-\nsettings in the buffer, and if there is no such setting, the buffer\nwill be evaluated without lexical binding.\n\nThis function preserves the position of point." (interactive "") #<bytecode 0x122a46c2900f>)(#<buffer  *load*> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl_init.el" nil t)
  apply(#f(compiled-function (&optional buffer printflag filename unibyte do-allow-print) "Execute the accessible portion of current buffer as Lisp code.\nYou can use \\[narrow-to-region] to limit the part of buffer to be evaluated.\nWhen called from a Lisp program (i.e., not interactively), this\nfunction accepts up to five optional arguments:\nBUFFER is the buffer to evaluate (nil means use current buffer),\n or a name of a buffer (a string).\nPRINTFLAG controls printing of output by any output functions in the\n evaluated code, such as `print', `princ', and `prin1':\n  a value of nil means discard it; anything else is the stream to print to.\n  See Info node `(elisp)Output Streams' for details on streams.\nFILENAME specifies the file name to use for `load-history'.\nUNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this\n invocation.\nDO-ALLOW-PRINT, if non-nil, specifies that output functions in the\n evaluated code should work normally even if PRINTFLAG is nil, in\n which case the output is displayed in the echo area.\n\nThis function ignores the current value of the `lexical-binding'\nvariable.  Instead it will heed any\n  -*- lexical-binding: t -*-\nsettings in the buffer, and if there is no such setting, the buffer\nwill be evaluated without lexical binding.\n\nThis function preserves the position of point." (interactive "") #<bytecode 0x122a46c2900f>) (#<buffer  *load*> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl_init.el" nil t))
  eval-buffer(#<buffer  *load*> nil "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl_init.el" nil t)  ; Reading at buffer position 19
  load-with-code-conversion("/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl_init.el" "/home/zw963/Dropbox/common/.emacs.d/plugins/git/diff-hl/diff-hl_init.el" nil t)
  #f(compiled-function (feature &optional filename noerror) "If FEATURE is not already loaded, load it from FILENAME.\nIf FEATURE is not a member of the list `features', then the feature was\nnot yet loaded; so load it from file FILENAME.\n\nIf FILENAME is omitted, the printname of FEATURE is used as the file\nname, and `load' is called to try to load the file by that name, after\nappending the suffix `.elc', `.el', or the system-dependent suffix for\ndynamic module files, in that order; but the function will not try to\nload the file without any suffix.  See `get-load-suffixes' for the\ncomplete list of suffixes.\n\nTo find the file, this function searches the directories in `load-path'.\n\nIf the optional third argument NOERROR is non-nil, then, if\nthe file is not found, the function returns nil instead of signaling\nan error.  Normally the return value is FEATURE.\n\nThe normal messages issued by `load' at start and end of loading\nFILENAME are suppressed." #<bytecode 0x122a46c28871>)(diff-hl_init)
  apply(#f(compiled-function (feature &optional filename noerror) "If FEATURE is not already loaded, load it from FILENAME.\nIf FEATURE is not a member of the list `features', then the feature was\nnot yet loaded; so load it from file FILENAME.\n\nIf FILENAME is omitted, the printname of FEATURE is used as the file\nname, and `load' is called to try to load the file by that name, after\nappending the suffix `.elc', `.el', or the system-dependent suffix for\ndynamic module files, in that order; but the function will not try to\nload the file without any suffix.  See `get-load-suffixes' for the\ncomplete list of suffixes.\n\nTo find the file, this function searches the directories in `load-path'.\n\nIf the optional third argument NOERROR is non-nil, then, if\nthe file is not found, the function returns nil instead of signaling\nan error.  Normally the return value is FEATURE.\n\nThe normal messages issued by `load' at start and end of loading\nFILENAME are suppressed." #<bytecode 0x122a46c28871>) diff-hl_init)
  require(diff-hl_init)
  eval((require 'diff-hl_init) nil)
  elisp--eval-last-sexp(nil)
  #f(compiled-function () #<bytecode 0x7adf6be03552>)()
  #f(compiled-function (eval-last-sexp-arg-internal) "Evaluate sexp before point; print value in the echo area.\nInteractively, EVAL-LAST-SEXP-ARG-INTERNAL is the prefix argument.\nWith a non `-' prefix argument, print output into current buffer.\n\nThis commands handles `defvar', `defcustom' and `defface' the\nsame way that `eval-defun' does.  See the doc string of that\nfunction for details.\n\nNormally, this function truncates long output according to the\nvalue of the variables `eval-expression-print-length' and\n`eval-expression-print-level'.  With a prefix argument of zero,\nhowever, there is no such truncation.\nInteger values are printed in several formats (decimal, octal,\nand hexadecimal).  When the prefix argument is -1 or the value\ndoesn't exceed `eval-expression-print-maximum-character', an\ninteger value is also printed as a character of that codepoint.\n\nIf `eval-expression-debug-on-error' is non-nil, which is the default,\nthis command arranges for all errors to enter the debugger." (interactive "P") #<bytecode 0x1b0b0b586f5f>)(nil)
  apply(#f(compiled-function (eval-last-sexp-arg-internal) "Evaluate sexp before point; print value in the echo area.\nInteractively, EVAL-LAST-SEXP-ARG-INTERNAL is the prefix argument.\nWith a non `-' prefix argument, print output into current buffer.\n\nThis commands handles `defvar', `defcustom' and `defface' the\nsame way that `eval-defun' does.  See the doc string of that\nfunction for details.\n\nNormally, this function truncates long output according to the\nvalue of the variables `eval-expression-print-length' and\n`eval-expression-print-level'.  With a prefix argument of zero,\nhowever, there is no such truncation.\nInteger values are printed in several formats (decimal, octal,\nand hexadecimal).  When the prefix argument is -1 or the value\ndoesn't exceed `eval-expression-print-maximum-character', an\ninteger value is also printed as a character of that codepoint.\n\nIf `eval-expression-debug-on-error' is non-nil, which is the default,\nthis command arranges for all errors to enter the debugger." (interactive "P") #<bytecode 0x1b0b0b586f5f>) nil)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  #f(compiled-function (cmd &optional record-flag keys special) "Execute CMD as an editor command.\nCMD must be a symbol that satisfies the `commandp' predicate.\n\nOptional second arg RECORD-FLAG non-nil means unconditionally put\nthis command in the variable `command-history'.  Otherwise, that\nis done only if an arg is read using the minibuffer.\n\nThe argument KEYS specifies the value to use instead of the\nreturn value of the `this-command-keys' function when reading the\narguments; if it is nil, `this-command-keys' is used.\n\nThe argument SPECIAL, if non-nil, means that this command is\nexecuting a special event, so ignore the prefix argument and\ndon't clear it." #<bytecode 0x1b0b0b499a46>)(eval-last-sexp nil nil nil)
  ad-Advice-command-execute(#f(compiled-function (cmd &optional record-flag keys special) "Execute CMD as an editor command.\nCMD must be a symbol that satisfies the `commandp' predicate.\n\nOptional second arg RECORD-FLAG non-nil means unconditionally put\nthis command in the variable `command-history'.  Otherwise, that\nis done only if an arg is read using the minibuffer.\n\nThe argument KEYS specifies the value to use instead of the\nreturn value of the `this-command-keys' function when reading the\narguments; if it is nil, `this-command-keys' is used.\n\nThe argument SPECIAL, if non-nil, means that this command is\nexecuting a special event, so ignore the prefix argument and\ndon't clear it." #<bytecode 0x1b0b0b499a46>) eval-last-sexp)
  apply(ad-Advice-command-execute #f(compiled-function (cmd &optional record-flag keys special) "Execute CMD as an editor command.\nCMD must be a symbol that satisfies the `commandp' predicate.\n\nOptional second arg RECORD-FLAG non-nil means unconditionally put\nthis command in the variable `command-history'.  Otherwise, that\nis done only if an arg is read using the minibuffer.\n\nThe argument KEYS specifies the value to use instead of the\nreturn value of the `this-command-keys' function when reading the\narguments; if it is nil, `this-command-keys' is used.\n\nThe argument SPECIAL, if non-nil, means that this command is\nexecuting a special event, so ignore the prefix argument and\ndon't clear it." #<bytecode 0x1b0b0b499a46>) eval-last-sexp)
  command-execute(eval-last-sexp)

Thanks.

dgutov commented 5 months ago

This is a bug in smartrep, not this package.

Here's a PR fixing it: https://github.com/myuhe/smartrep.el/pull/25

I just made the change locally, but you could install it from rgiar's fork instead.

zw963 commented 5 months ago

Here's a PR fixing it: https://github.com/myuhe/smartrep.el/pull/25

It works! thank you.