Open Mekk opened 9 years ago
I'm not actually sure who maintains the melpa repository. I'm fine with someone releasing this, though.
On Mon, Feb 9, 2015 at 3:42 AM, Marcin Kasperski notifications@github.com wrote:
After installing cperl mode from stable melpa I get crash (full backtrace below) after pressing '{' key (or any other electric key). Emacs 24.3.1.
If I see correctly, that is fixed in current code (the problem is last-command-char => last-command-event migration), so the only thing necessary to fix is to make stable release (= tag 6.3 or 7.0).
Would you mind?
Debugger entered--Lisp error: (void-variable last-command-char) (eq last-command-char 125) (and (eq last-command-char 125) (not (condition-case nil (save-excursion (up-list (- (prefix-numeric-value arg))) (or (cperl-after-expr-p nil "{;)") (cperl-after-block-p nil (quote pre)))) (error nil)))) (if (and (eq last-command-char 125) (not (condition-case nil (save-excursion (up-list (- (prefix-numeric-value arg))) (or (cperl-after-expr-p nil "{;)") (cperl-after-block-p nil (quote pre)))) (error nil)))) (self-insert-command (prefix-numeric-value arg)) (if (and (not arg) (eolp) (or (and (null only-before) (save-excursion (skip-chars-backward " ") (bolp))) (and (eq last-command-char 123) (not cperl-extra-newline-before-brace) (save-excursion (skip-chars-backward " ") (eq (preceding-char) 41))) (if cperl-auto-newline (progn (cperl-indent-line) (newline) t) nil))) (progn (self-insert-command (prefix-numeric-value arg)) (cperl-indent-line) (if cperl-auto-newline (setq insertpos (1- (point)))) (if (and cperl-auto-newline (null only-before)) (progn (newline) (cperl-indent-line))) (save-excursion (if insertpos (progn (goto-char insertpos) (search-forward (make-string 1 last-command-char)) (setq insertpos (1- ...)))) (delete-char -1)))) (if insertpos (save-excursion (goto-char in sertpos) (self-insert-command (prefix-numeric-value arg))) (self-insert-command (prefix-numeric-value arg)))) (if (and other-end (not cperl-brace-recursing) (cperl-val (quote cperl-electric-parens)) (>= (save-excursion (cperl-to-comment-or-eol) (point)) (point))) (progn (save-excursion (setq insertpos (point-marker)) (goto-char other-end) (setq last-command-char 123) (cperl-electric-lbrace arg insertpos)) (forward-char 1)) (if (and (eq last-command-char 125) (not (condition-case nil (save-excursion (up-list (- ...)) (or (cperl-after-expr-p nil "{;)") (cperl-after-block-p nil ...))) (error nil)))) (self-insert-command (prefix-numeric-value arg)) (if (and (not arg) (eolp) (or (and (null only-before) (save-excursion (skip-chars-backward " ") (bolp))) (and (eq last-command-char 123) (not cperl-extra-newline-before-brace) (save-excursion (skip-chars-backward " ") (eq ... 41))) (if cperl-auto-newline (progn (cperl-indent-line) (newline) t) nil))) (progn (self-insert-command (prefix-numeric-value arg)) (cperl-indent-line) (if cperl-auto-newline (setq insertpos (1- (point)))) (if (and cperl -auto-newline (null only-before)) (progn (newline) (cperl-indent-line))) (save-excursion (if insertpos (progn (goto-char insertpos) (search-forward ...) (setq insertpos ...))) (delete-char -1)))) (if insertpos (save-excursion (goto-char insertpos) (self-insert-command (prefix-numeric-value arg))) (self-insert-command (prefix-numeric-value arg))))) (let (insertpos (other-end (if (and cperl-electric-parens-mark (cperl-mark-active) (< (mark) (point))) (mark) nil))) (if (and other-end (not cperl-brace-recursing) (cperl-val (quote cperl-electric-parens)) (>= (save-excursion (cperl-to-comment-or-eol) (point)) (point))) (progn (save-excursion (setq insertpos (point-marker)) (goto-char other-end) (setq last-command-char 123) (cperl-electric-lbrace arg insertpos)) (forward-char 1)) (if (and (eq last-command-char 125) (not (condition-case nil (save-excursion (up-list ...) (or ... ...)) (error nil)))) (self-insert-command (prefix-numeric-value arg)) (if (and (not arg) (eolp) (or (and (null only-before) (save-excursion ... ...)) (and (eq last-command-char 123) (not cperl-extra-newline-before-brace) (save-excursion ... ...)) (if cperl-auto-newline (progn ... ... t) nil))) (progn (self-insert-command (prefix-numeric-value arg)) (cperl-indent-line) (if cperl-auto-newline (setq insertpos (1- ...))) (if (and cperl-auto-newline (null on ly-before)) (progn (newline) (cperl-indent-line))) (save-excursion (if insertpos (progn ... ... ...)) (delete-char -1)))) (if insertpos (save-excursion (goto-char insertpos) (self-insert-command (prefix-numeric-value arg))) (self-insert-command (prefix-numeric-value arg)))))) cperl-electric-brace(nil) (let ((cperl-brace-recursing t) (cperl-auto-newline cperl-auto-newline) (other-end (or end (if (and cperl-electric-parens-mark (cperl-mark-active) (> (mark) (point))) (save-excursion (goto-char (mark)) (point-marker)) nil))) pos after) (and (cperl-val (quote cperl-electric-lbrace-space)) (eq (preceding-char) 36) (save-excursion (skip-chars-backward "$") (looking-at "(\$\$)\$([^\$]|$)")) (insert 32)) (if (and (save-excursion (beginning-of-line) (not (looking-at "[ ]#"))) (cperl-after-expr-p nil "{;)")) nil (setq cperl-auto-newline nil)) (cperl-electric-brace arg) (and (cperl-val (quote cperl-electric-parens)) (eq last-command-char 123) (memq last-command-char (append cperl-electric-parens-string nil)) (or (if other-end (goto-char (marker-position other-end))) t) (setq last-command-char 125 pos (point)) (progn (cperl-electric-brace arg t) (goto-char pos)))) cperl-electric-lbrace(nil) call-interactively(cperl-electric-lbrace nil nil)
stable melpa offers cperl-mode 6.2
— Reply to this email directly or view it on GitHub https://github.com/jrockway/cperl-mode/issues/28.
As far as I understand, melpa-stable takes tagged releases from github (and, in case of cperl-mode, references your repository). So it is a matter of you calling
git tag -a 7.0 -m "Release 7.0"
git push origin 7.0
(or 6.3, or whichever number you find most appropriate).
PS Your tip release resolves the actual problem, so this is just a matter of tagging.
Oh, very cool. Thank you.
I've tagged it. Please let me know if there are any problems.
On Tue, Feb 10, 2015 at 4:41 AM, Marcin Kasperski notifications@github.com wrote:
As far as I understand, melpa-stable takes tagged releases from github (and, in case of cperl-mode, references your repository). So it is a matter of you calling
git tag -a 7.0 -m "Release 7.0" git push origin 7.0
(or 6.3, or whichever number you find most appropriate).
PS Your tip release resolves the actual problem, so this is just a matter of tagging.
— Reply to this email directly or view it on GitHub https://github.com/jrockway/cperl-mode/issues/28#issuecomment-73670616.
I'm new to Melpa so just starting to try to get it working but It doesn't appear that this package is available? It doesn't show up as an available package and I'm stuck with the installed version 5.23. Am I missing something? @Mekk did you get this working via Melpa?
I'm currently using:
emacs-24.3/share/emacs/site-lisp/cperl-mode.el
And get an error every time I try to press either brace character.
After installing cperl mode from stable melpa I get crash (full backtrace below) after pressing '{' key (or any other electric key). Emacs 24.3.1.
If I see correctly, that is fixed in current code (the problem is last-command-char => last-command-event migration), so the only thing necessary to fix is to make stable release (= tag 6.3 or 7.0).
Would you mind?
PS stable melpa offers cperl-mode 6.2 as this is newest existing tag.