[nongnu] elpa/git-commit a7ae411 03/11: magit-mode-map: Reindent bindings
branch: elpa/git-commit commit a7ae411bbc325ba1cb15f28f9567a1e30e8cd520 Author: Jonas Bernoulli Commit: Jonas Bernoulli magit-mode-map: Reindent bindings --- lisp/magit-mode.el | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lisp/magit-mode.el b/lisp/magit-mode.el index abeaf9a..4b51eb3 100644 --- a/lisp/magit-mode.el +++ b/lisp/magit-mode.el @@ -336,16 +336,16 @@ recommended value." (defvar magit-mode-map (let ((map (make-sparse-keymap))) (set-keymap-parent map magit-section-mode-map) -(define-key map [C-return] 'magit-visit-thing) -(define-key map (kbd "C-m") 'magit-visit-thing) +(define-key map [C-return]'magit-visit-thing) +(define-key map (kbd "C-m") 'magit-visit-thing) (define-key map (kbd "C-M-i") 'magit-dired-jump) -(define-key map [M-tab] 'magit-section-cycle-diffs) -(define-key map (kbd "SPC") 'magit-diff-show-or-scroll-up) +(define-key map [M-tab] 'magit-section-cycle-diffs) +(define-key map (kbd "SPC") 'magit-diff-show-or-scroll-up) (define-key map (kbd "S-SPC") 'magit-diff-show-or-scroll-down) -(define-key map (kbd "DEL") 'magit-diff-show-or-scroll-down) -(define-key map "+" 'magit-diff-more-context) -(define-key map "-" 'magit-diff-less-context) -(define-key map "0" 'magit-diff-default-context) +(define-key map (kbd "DEL") 'magit-diff-show-or-scroll-down) +(define-key map "+" 'magit-diff-more-context) +(define-key map "-" 'magit-diff-less-context) +(define-key map "0" 'magit-diff-default-context) (define-key map "a" 'magit-cherry-apply) (define-key map "A" 'magit-cherry-pick) (define-key map "b" 'magit-branch)
[nongnu] elpa/git-commit 413a98f 05/11: Use kbd function more when defining key bindings
branch: elpa/git-commit commit 413a98f7ec50eb418f560d21766f528cc89653d1 Author: Jonas Bernoulli Commit: Jonas Bernoulli Use kbd function more when defining key bindings Use `kbd' instead of quoting. This makes searching easier because we only have to look for one form. Continue to avoid `kbd' when it would return its argument unchanged. Make exceptions to avoid placing definitions that use `kbd' next to definitions that don't. --- lisp/magit-log.el | 20 ++-- lisp/magit-process.el | 2 +- lisp/magit-reflog.el | 4 ++-- lisp/magit-refs.el| 4 ++-- lisp/magit-section.el | 8 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lisp/magit-log.el b/lisp/magit-log.el index ea4100a..f83907e 100644 --- a/lisp/magit-log.el +++ b/lisp/magit-log.el @@ -951,9 +951,9 @@ of the current repository first; creating it if necessary." (defvar magit-log-mode-map (let ((map (make-sparse-keymap))) (set-keymap-parent map magit-mode-map) -(define-key map "\C-c\C-b" 'magit-go-backward) -(define-key map "\C-c\C-f" 'magit-go-forward) -(define-key map "\C-c\C-n" 'magit-log-move-to-parent) +(define-key map (kbd "C-c C-b") 'magit-go-backward) +(define-key map (kbd "C-c C-f") 'magit-go-forward) +(define-key map (kbd "C-c C-n") 'magit-log-move-to-parent) (define-key map "j" 'magit-log-move-to-revision) (define-key map "=" 'magit-log-toggle-commit-limit) (define-key map "+" 'magit-log-double-commit-limit) @@ -1529,13 +1529,13 @@ The shortstat style is experimental and rather slow." (defvar magit-log-select-mode-map (let ((map (make-sparse-keymap))) (set-keymap-parent map magit-log-mode-map) -(define-key map "\C-c\C-b" 'undefined) -(define-key map "\C-c\C-f" 'undefined) -(define-key map "."'magit-log-select-pick) -(define-key map "e"'magit-log-select-pick) -(define-key map "\C-c\C-c" 'magit-log-select-pick) -(define-key map "q"'magit-log-select-quit) -(define-key map "\C-c\C-k" 'magit-log-select-quit) +(define-key map (kbd "C-c C-b") 'undefined) +(define-key map (kbd "C-c C-f") 'undefined) +(define-key map (kbd ".") 'magit-log-select-pick) +(define-key map (kbd "e") 'magit-log-select-pick) +(define-key map (kbd "C-c C-c") 'magit-log-select-pick) +(define-key map (kbd "q") 'magit-log-select-quit) +(define-key map (kbd "C-c C-k") 'magit-log-select-quit) map) "Keymap for `magit-log-select-mode'.") diff --git a/lisp/magit-process.el b/lisp/magit-process.el index 7fef19f..845129e 100644 --- a/lisp/magit-process.el +++ b/lisp/magit-process.el @@ -772,7 +772,7 @@ Magit status buffer." (let ((map (cl-gensym))) `(let ((,map (make-sparse-keymap))) (set-keymap-parent ,map minibuffer-local-map) - (define-key ,map "\C-g" + (define-key ,map (kbd "C-g") (lambda () (interactive) (ignore-errors (kill-process ,proc)) diff --git a/lisp/magit-reflog.el b/lisp/magit-reflog.el index 384cfa4..a001dfc 100644 --- a/lisp/magit-reflog.el +++ b/lisp/magit-reflog.el @@ -136,8 +136,8 @@ If `HEAD' is detached, then show the reflog for that instead." (defvar magit-reflog-mode-map (let ((map (make-sparse-keymap))) (set-keymap-parent map magit-log-mode-map) -(define-key map "\C-c\C-n" 'undefined) -(define-key map "L" 'magit-margin-settings) +(define-key map (kbd "C-c C-n") 'undefined) +(define-key map (kbd "L") 'magit-margin-settings) map) "Keymap for `magit-reflog-mode'.") diff --git a/lisp/magit-refs.el b/lisp/magit-refs.el index 13ceec7..d3895ea 100644 --- a/lisp/magit-refs.el +++ b/lisp/magit-refs.el @@ -277,8 +277,8 @@ the outcome. (defvar magit-refs-mode-map (let ((map (make-sparse-keymap))) (set-keymap-parent map magit-mode-map) -(define-key map "\C-y" 'magit-refs-set-show-commit-count) -(define-key map "L"'magit-margin-settings) +(define-key map (kbd "C-y") 'magit-refs-set-show-commit-count) +(define-key map (kbd "L") 'magit-margin-settings) map) "Keymap for `magit-refs-mode'.") diff --git a/lisp/magit-section.el b/lisp/magit-section.el index 428e30b..d44074e 100644 --- a/lisp/magit-section.el +++ b/lisp/magit-section.el @@ -328,10 +328,10 @@ but that ship has sailed, thus this option." (define-key map (kbd "n") 'magit-section-forward) (define-key map (kbd "M-p") 'magit-section-backward-sibling) (define-key map (kbd "M-n") 'magit-section-forward-sibling) -(define-key map "1" 'magit-section-show-level-1) -(define-key map "2" 'magit-section-show-level-2) -(define-key map "3" 'magit-section-show-level-3) -(define-key map "4" 'magit-section-show-level-4) +(define-key map (kbd "1") 'magit-section-show-level-1) +(define-key map (kbd "2") 'magit-section-show-level-2) +(define-key map (kbd "3") 'magit-sect
[nongnu] elpa/git-commit 5bba626 06/11: magit-help: New command
branch: elpa/git-commit commit 5bba6262933a0bfc54dec0d36a3d4e93e26204df Author: Jonas Bernoulli Commit: Jonas Bernoulli magit-help: New command --- lisp/magit-mode.el | 5 + lisp/magit.el | 1 + 2 files changed, 6 insertions(+) diff --git a/lisp/magit-mode.el b/lisp/magit-mode.el index 26ea42d..2a042d1 100644 --- a/lisp/magit-mode.el +++ b/lisp/magit-mode.el @@ -443,6 +443,11 @@ which visits the thing at point using `browse-url'." (interactive) (user-error "There is no thing at point that could be browsed")) +(defun magit-help () + "Visit the Magit manual." + (interactive) + (info "magit")) + (defvar bug-reference-map) (with-eval-after-load 'bug-reference (define-key bug-reference-map [remap magit-visit-thing] diff --git a/lisp/magit.el b/lisp/magit.el index 50e196b..04fe7c0 100644 --- a/lisp/magit.el +++ b/lisp/magit.el @@ -307,6 +307,7 @@ Also see info node `(magit)Commands for Buffers Visiting Files'." ("E" "Ediff" magit-ediff)] [("f" "Fetch" magit-fetch) ("F" "Pull" magit-pull) +("h" "Help" magit-help) ("I" "Init" magit-init) ("j" "Jump to section"magit-status-jump :if-mode magit-status-mode) ("j" "Display status" magit-status-quick :if-not-mode magit-status-mode)
[nongnu] elpa/git-commit b8e64dc 11/11: Remove stray whitespace
branch: elpa/git-commit commit b8e64dcb98677adeb00e6f9e52a5ae59732daafb Author: Jonas Bernoulli Commit: Jonas Bernoulli Remove stray whitespace --- lisp/magit.el | 2 -- 1 file changed, 2 deletions(-) diff --git a/lisp/magit.el b/lisp/magit.el index 1bf695c..df068c4 100644 --- a/lisp/magit.el +++ b/lisp/magit.el @@ -365,8 +365,6 @@ This affects `magit-git-command', `magit-git-command-topdir', ;;;###autoload (autoload 'magit-run "magit" nil t) (transient-define-prefix magit-run () "Run git or another command, or launch a graphical utility." - - [["Run git subcommand" ("!" "in repository root" magit-git-command-topdir) ("p" "in working directory" magit-git-command)]
[nongnu] elpa/git-commit ae9a3eb 08/11: magit-dispatch: Bind magit-gitignore to "i" like in magit-mode-map
branch: elpa/git-commit commit ae9a3ebeb8051b235b8f2099bf5a0dde50b6a464 Author: Jonas Bernoulli Commit: Jonas Bernoulli magit-dispatch: Bind magit-gitignore to "i" like in magit-mode-map --- lisp/magit.el | 1 + 1 file changed, 1 insertion(+) diff --git a/lisp/magit.el b/lisp/magit.el index 04fe7c0..33c960d 100644 --- a/lisp/magit.el +++ b/lisp/magit.el @@ -308,6 +308,7 @@ Also see info node `(magit)Commands for Buffers Visiting Files'." [("f" "Fetch" magit-fetch) ("F" "Pull" magit-pull) ("h" "Help" magit-help) +("i" "Ignore" magit-gitignore) ("I" "Init" magit-init) ("j" "Jump to section"magit-status-jump :if-mode magit-status-mode) ("j" "Display status" magit-status-quick :if-not-mode magit-status-mode)
[nongnu] elpa/git-commit b54b537 07/11: magit-mode-map: Bind magit-init to "I" like in magit-dispatch
branch: elpa/git-commit commit b54b537dbace2c9cf3e1ceb084e9baeb00a8570a Author: Jonas Bernoulli Commit: Jonas Bernoulli magit-mode-map: Bind magit-init to "I" like in magit-dispatch --- lisp/magit-mode.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/magit-mode.el b/lisp/magit-mode.el index 2a042d1..7bb620d 100644 --- a/lisp/magit-mode.el +++ b/lisp/magit-mode.el @@ -363,7 +363,7 @@ recommended value." (define-key map "h" 'magit-dispatch) (define-key map "?" 'magit-dispatch) (define-key map "i" 'magit-gitignore) -(define-key map "I" 'magit-gitignore) +(define-key map "I" 'magit-init) (define-key map "j" 'magit-status-quick) (define-key map "J" 'magit-display-repository-buffer) (define-key map "k" 'magit-delete-thing)
[nongnu] elpa/git-commit 9d7a34e 04/11: Use RET and TAB syntax in key definitions
branch: elpa/git-commit commit 9d7a34ee8e23aba93eb96b9cbe7f36e025369157 Author: Jonas Bernoulli Commit: Jonas Bernoulli Use RET and TAB syntax in key definitions --- lisp/magit-mode.el| 4 ++-- lisp/magit-section.el | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lisp/magit-mode.el b/lisp/magit-mode.el index 4b51eb3..26ea42d 100644 --- a/lisp/magit-mode.el +++ b/lisp/magit-mode.el @@ -337,8 +337,8 @@ recommended value." (let ((map (make-sparse-keymap))) (set-keymap-parent map magit-section-mode-map) (define-key map [C-return]'magit-visit-thing) -(define-key map (kbd "C-m") 'magit-visit-thing) -(define-key map (kbd "C-M-i") 'magit-dired-jump) +(define-key map (kbd "RET") 'magit-visit-thing) +(define-key map (kbd "M-TAB") 'magit-dired-jump) (define-key map [M-tab] 'magit-section-cycle-diffs) (define-key map (kbd "SPC") 'magit-diff-show-or-scroll-up) (define-key map (kbd "S-SPC") 'magit-diff-show-or-scroll-down) diff --git a/lisp/magit-section.el b/lisp/magit-section.el index 66da1e5..428e30b 100644 --- a/lisp/magit-section.el +++ b/lisp/magit-section.el @@ -318,7 +318,7 @@ but that ship has sailed, thus this option." (defvar magit-section-mode-map (let ((map (make-keymap))) (suppress-keymap map t) -(define-key map (kbd "C-i") 'magit-section-toggle) +(define-key map (kbd "TAB") 'magit-section-toggle) (define-key map [C-tab] 'magit-section-cycle) (define-key map [M-tab] 'magit-section-cycle) ;; [backtab] is the most portable binding for Shift+Tab.
[nongnu] elpa/git-commit updated (0348f1f -> b8e64dc)
elpasync pushed a change to branch elpa/git-commit. from 0348f1f magit-version: If installed from Melpa then also show base version new 4ee9c9a Add several commands for switching to existing Magit buffers new b1b5b85 magit-mode-map: Rearrange bindings new a7ae411 magit-mode-map: Reindent bindings new 9d7a34e Use RET and TAB syntax in key definitions new 413a98f Use kbd function more when defining key bindings new 5bba626 magit-help: New command new b54b537 magit-mode-map: Bind magit-init to "I" like in magit-dispatch new ae9a3eb magit-dispatch: Bind magit-gitignore to "i" like in magit-mode-map new 9bec1c5 magit-{mode-map,dispatch}: Add bindings for "H", "Q" and "Z" new dbf3897 magit-dispatch: Refill columns new b8e64dc Remove stray whitespace Summary of changes: Documentation/RelNotes/3.3.0.org | 11 Documentation/magit.org | 44 ++-- Documentation/magit.texi | 54 ++-- lisp/magit-extras.el | 45 + lisp/magit-log.el| 20 +++ lisp/magit-mode.el | 45 +++-- lisp/magit-process.el| 2 +- lisp/magit-reflog.el | 4 +-- lisp/magit-refs.el | 4 +-- lisp/magit-section.el| 10 lisp/magit-status.el | 23 + lisp/magit.el| 27 12 files changed, 236 insertions(+), 53 deletions(-)
[nongnu] elpa/git-commit b1b5b85 02/11: magit-mode-map: Rearrange bindings
branch: elpa/git-commit commit b1b5b8553479126a2348d514ee050695e4075a76 Author: Jonas Bernoulli Commit: Jonas Bernoulli magit-mode-map: Rearrange bindings --- lisp/magit-mode.el | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lisp/magit-mode.el b/lisp/magit-mode.el index 2e967e9..abeaf9a 100644 --- a/lisp/magit-mode.el +++ b/lisp/magit-mode.el @@ -340,19 +340,12 @@ recommended value." (define-key map (kbd "C-m") 'magit-visit-thing) (define-key map (kbd "C-M-i") 'magit-dired-jump) (define-key map [M-tab] 'magit-section-cycle-diffs) -(define-key map (kbd "P") 'magit-push) -(define-key map (kbd "k") 'magit-delete-thing) -(define-key map (kbd "K") 'magit-file-untrack) -(define-key map (kbd "i") 'magit-gitignore) -(define-key map (kbd "I") 'magit-gitignore) (define-key map (kbd "SPC") 'magit-diff-show-or-scroll-up) (define-key map (kbd "S-SPC") 'magit-diff-show-or-scroll-down) (define-key map (kbd "DEL") 'magit-diff-show-or-scroll-down) (define-key map "+" 'magit-diff-more-context) (define-key map "-" 'magit-diff-less-context) (define-key map "0" 'magit-diff-default-context) -(define-key map "$" 'magit-process-buffer) -(define-key map "%" 'magit-worktree) (define-key map "a" 'magit-cherry-apply) (define-key map "A" 'magit-cherry-pick) (define-key map "b" 'magit-branch) @@ -369,14 +362,19 @@ recommended value." (define-key map "G" 'magit-refresh-all) (define-key map "h" 'magit-dispatch) (define-key map "?" 'magit-dispatch) +(define-key map "i" 'magit-gitignore) +(define-key map "I" 'magit-gitignore) (define-key map "j" 'magit-status-quick) (define-key map "J" 'magit-display-repository-buffer) +(define-key map "k" 'magit-delete-thing) +(define-key map "K" 'magit-file-untrack) (define-key map "l" 'magit-log) (define-key map "L" 'magit-log-refresh) (define-key map "m" 'magit-merge) (define-key map "M" 'magit-remote) (define-key map "o" 'magit-submodule) (define-key map "O" 'magit-subtree) +(define-key map "P" 'magit-push) (define-key map "q" 'magit-mode-bury-buffer) (define-key map "r" 'magit-rebase) (define-key map "R" 'magit-file-rename) @@ -396,6 +394,8 @@ recommended value." (define-key map "Y" 'magit-cherry) (define-key map "z" 'magit-stash) (define-key map "Z" 'magit-stash) +(define-key map "%" 'magit-worktree) +(define-key map "$" 'magit-process-buffer) (define-key map ":" 'magit-git-command) (define-key map "!" 'magit-run) (define-key map (kbd "C-c C-c") 'magit-dispatch)
[nongnu] elpa/git-commit 4ee9c9a 01/11: Add several commands for switching to existing Magit buffers
branch: elpa/git-commit commit 4ee9c9a1981cbc99b93623858edccfe9aee8f7d6 Author: Jonas Bernoulli Commit: Jonas Bernoulli Add several commands for switching to existing Magit buffers Closes #4259. --- Documentation/RelNotes/3.3.0.org | 8 ++ Documentation/magit.org | 44 ++-- Documentation/magit.texi | 54 ++-- lisp/magit-extras.el | 45 + lisp/magit-mode.el | 2 ++ lisp/magit-status.el | 23 + lisp/magit.el| 3 +++ 7 files changed, 175 insertions(+), 4 deletions(-) diff --git a/Documentation/RelNotes/3.3.0.org b/Documentation/RelNotes/3.3.0.org index 0fc3075..adea68c 100644 --- a/Documentation/RelNotes/3.3.0.org +++ b/Documentation/RelNotes/3.3.0.org @@ -15,6 +15,14 @@ Like most newly added expert arguments they have to be explicitly [[https://magit.vc/manual/transient/Enabling-and-Disabling-Suffixes.html][revealed]]. #4387 +- Added new command ~magit-status-quick~, which shows the status buffer + but avoids refreshing it for performance reasons. #4259 + +- Added new commands ~magit-display-repository-buffer~ (bound to ~j~ in + Magit buffers) and ~magit-switch-to-repository-buffer~ (bound to ~J~) + and variants for switching to any existing Magit buffer belonging + to the current repository. #4259 + ** Fixes since v3.2.0 - Make ~magit-branch-remote-head~ and ~magit-branch-current~ fall back diff --git a/Documentation/magit.org b/Documentation/magit.org index 1f510f1..9577830 100644 --- a/Documentation/magit.org +++ b/Documentation/magit.org @@ -8,7 +8,7 @@ #+TEXINFO_DIR_CATEGORY: Emacs #+TEXINFO_DIR_TITLE: Magit: (magit). #+TEXINFO_DIR_DESC: Using Git from Emacs with Magit. -#+SUBTITLE: for version 3.2.1 (v3.2.1-11-g16316ed16+1) +#+SUBTITLE: for version 3.2.1 (v3.2.1-13-g0348f1f87+1) #+TEXINFO_DEFFN: t #+OPTIONS: H:4 num:3 toc:2 @@ -25,7 +25,7 @@ directly from within Emacs. While many fine Git clients exist, only Magit and Git itself deserve to be called porcelains. #+TEXINFO: @noindent -This manual is for Magit version 3.2.1 (v3.2.1-11-g16316ed16+1). +This manual is for Magit version 3.2.1 (v3.2.1-13-g0348f1f87+1). #+BEGIN_QUOTE Copyright (C) 2015-2021 Jonas Bernoulli @@ -2065,6 +2065,34 @@ that it should be bound globally. We recommend using ~C-x g~: ~magit-list-repositories~. It also affects ~magit-status~ (which see) in potentially surprising ways (see above). +- Command: magit-status-quick + + This command is an alternative to ~magit-status~ that usually avoids + refreshing the status buffer. + + If the status buffer of the current Git repository exists but isn't + being displayed in the selected frame, then it is displayed without + being refreshed. + + If the status buffer is being displayed in the selected frame, + then this command refreshes it. + + Prefix arguments have the same meaning as for ~magit-status~, + and additionally cause the buffer to be refresh. + + To use this command add this to your init file: + + #+BEGIN_SRC emacs-lisp +(global-set-key (kbd "C-x g") 'magit-status-quick). + #+END_SRC + + If you do that and then for once want to redisplay the buffer and + also immediately refresh it, then type ~C-x g~ followed by ~g~. + + A possible alternative command is ~magit-display-repository-buffer~. + It supports displaying any existing Magit buffer that belongs to the + current repository; not just the status buffer. + - Command: ido-enter-magit-status From an Ido prompt used to open a file, instead drop into @@ -6900,6 +6928,18 @@ Also see [[man:git-worktree]] ** Common Commands +- Command: magit-switch-to-repository-buffer +- Command: magit-switch-to-repository-buffer-other-window +- Command: magit-switch-to-repository-buffer-other-frame +- Command: magit-display-repository-buffer + + These commands read any existing Magit buffer that belongs to the + current repository from the user and then switch to the selected + buffer (without refreshing it). + + The last variant uses ~magit-display-buffer~ to do so and thus + respects ~magit-display-buffer-function~. + These are some of the commands that can be used in all buffers whose major-modes derive from ~magit-mode~. There are other common commands beside the ones below, but these didn't fit well anywhere else. diff --git a/Documentation/magit.texi b/Documentation/magit.texi index df73be4..049db74 100644 --- a/Documentation/magit.texi +++ b/Documentation/magit.texi @@ -31,7 +31,7 @@ General Public License for more details. @finalout @titlepage @title Magit User Manual -@subtitle for version 3.2.1 (v3.2.1-11-g16316ed16+1) +@subtitle for version 3.2.1 (v3.2.1-13-g0348f1f87+1) @author Jonas Bernoulli @page @vskip 0pt plus 1filll @@ -53,7 +53,7 @@ directly from within Emacs. While many fine Git clients exist, only Magit and Git itself dese
[nongnu] elpa/git-commit dbf3897 10/11: magit-dispatch: Refill columns
branch: elpa/git-commit commit dbf3897466bb7462c9e871755e4bd0564c580a1d Author: Jonas Bernoulli Commit: Jonas Bernoulli magit-dispatch: Refill columns --- lisp/magit.el | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lisp/magit.el b/lisp/magit.el index b613094..1bf695c 100644 --- a/lisp/magit.el +++ b/lisp/magit.el @@ -304,12 +304,12 @@ Also see info node `(magit)Commands for Buffers Visiting Files'." ("d" "Diff" magit-diff) ("D" "Diff (change)" magit-diff-refresh) ("e" "Ediff (dwim)" magit-ediff-dwim) -("E" "Ediff" magit-ediff)] - [("f" "Fetch" magit-fetch) +("E" "Ediff" magit-ediff) +("f" "Fetch" magit-fetch) ("F" "Pull" magit-pull) ("h" "Help" magit-help) -("H" "Section info" magit-describe-section :if-derived magit-mode) -("i" "Ignore" magit-gitignore) +("H" "Section info" magit-describe-section :if-derived magit-mode)] + [("i" "Ignore" magit-gitignore) ("I" "Init" magit-init) ("j" "Jump to section"magit-status-jump :if-mode magit-status-mode) ("j" "Display status" magit-status-quick :if-not-mode magit-status-mode) @@ -319,17 +319,17 @@ Also see info node `(magit)Commands for Buffers Visiting Files'." ("m" "Merge" magit-merge) ("M" "Remote" magit-remote) ("o" "Submodule" magit-submodule) -("O" "Subtree"magit-subtree)] - [("P" "Push" magit-push) -("Q" "Command"magit-git-command) -("r" "Rebase" magit-rebase) +("O" "Subtree"magit-subtree) +("P" "Push" magit-push) +("Q" "Command"magit-git-command)] + [("r" "Rebase" magit-rebase) ("t" "Tag"magit-tag) ("T" "Note" magit-notes) ("V" "Revert" magit-revert) ("w" "Apply patches" magit-am) ("W" "Format patches" magit-patch) -("X" "Reset" magit-reset)] - [("y" "Show Refs" magit-show-refs) +("X" "Reset" magit-reset) +("y" "Show Refs" magit-show-refs) ("Y" "Cherries" magit-cherry) ("z" "Stash" magit-stash) ("Z" "Worktree" magit-worktree)
[nongnu] elpa/git-commit 9bec1c5 09/11: magit-{mode-map, dispatch}: Add bindings for "H", "Q" and "Z"
branch: elpa/git-commit commit 9bec1c54ab0705eb68ae4aa6c8a0498999a018f6 Author: Jonas Bernoulli Commit: Jonas Bernoulli magit-{mode-map,dispatch}: Add bindings for "H", "Q" and "Z" --- Documentation/RelNotes/3.3.0.org | 3 +++ lisp/magit-mode.el | 6 -- lisp/magit.el| 6 -- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Documentation/RelNotes/3.3.0.org b/Documentation/RelNotes/3.3.0.org index adea68c..9f7b760 100644 --- a/Documentation/RelNotes/3.3.0.org +++ b/Documentation/RelNotes/3.3.0.org @@ -23,6 +23,9 @@ and variants for switching to any existing Magit buffer belonging to the current repository. #4259 +- A few existing commands got a new or better binding in + ~magit-dispatch~ and/or ~magit-mode-map~. + ** Fixes since v3.2.0 - Make ~magit-branch-remote-head~ and ~magit-branch-current~ fall back diff --git a/lisp/magit-mode.el b/lisp/magit-mode.el index 7bb620d..4d8e12b 100644 --- a/lisp/magit-mode.el +++ b/lisp/magit-mode.el @@ -362,6 +362,7 @@ recommended value." (define-key map "G" 'magit-refresh-all) (define-key map "h" 'magit-dispatch) (define-key map "?" 'magit-dispatch) +(define-key map "H" 'magit-describe-section) (define-key map "i" 'magit-gitignore) (define-key map "I" 'magit-init) (define-key map "j" 'magit-status-quick) @@ -376,6 +377,8 @@ recommended value." (define-key map "O" 'magit-subtree) (define-key map "P" 'magit-push) (define-key map "q" 'magit-mode-bury-buffer) +(define-key map "Q" 'magit-git-command) +(define-key map ":" 'magit-git-command) (define-key map "r" 'magit-rebase) (define-key map "R" 'magit-file-rename) (define-key map "s" 'magit-stage-file) @@ -393,10 +396,9 @@ recommended value." (define-key map "y" 'magit-show-refs) (define-key map "Y" 'magit-cherry) (define-key map "z" 'magit-stash) -(define-key map "Z" 'magit-stash) +(define-key map "Z" 'magit-worktree) (define-key map "%" 'magit-worktree) (define-key map "$" 'magit-process-buffer) -(define-key map ":" 'magit-git-command) (define-key map "!" 'magit-run) (define-key map (kbd "C-c C-c") 'magit-dispatch) (define-key map (kbd "C-c C-e") 'magit-edit-thing) diff --git a/lisp/magit.el b/lisp/magit.el index 33c960d..b613094 100644 --- a/lisp/magit.el +++ b/lisp/magit.el @@ -308,6 +308,7 @@ Also see info node `(magit)Commands for Buffers Visiting Files'." [("f" "Fetch" magit-fetch) ("F" "Pull" magit-pull) ("h" "Help" magit-help) +("H" "Section info" magit-describe-section :if-derived magit-mode) ("i" "Ignore" magit-gitignore) ("I" "Init" magit-init) ("j" "Jump to section"magit-status-jump :if-mode magit-status-mode) @@ -320,6 +321,7 @@ Also see info node `(magit)Commands for Buffers Visiting Files'." ("o" "Submodule" magit-submodule) ("O" "Subtree"magit-subtree)] [("P" "Push" magit-push) +("Q" "Command"magit-git-command) ("r" "Rebase" magit-rebase) ("t" "Tag"magit-tag) ("T" "Note" magit-notes) @@ -330,8 +332,8 @@ Also see info node `(magit)Commands for Buffers Visiting Files'." [("y" "Show Refs" magit-show-refs) ("Y" "Cherries" magit-cherry) ("z" "Stash" magit-stash) -("!" "Run"magit-run) -("%" "Worktree" magit-worktree)]] +("Z" "Worktree" magit-worktree) +("!" "Run"magit-run)]] ["Applying changes" :if-derived magit-mode [("a" "Apply" magit-apply)
[nongnu] elpa/magit updated (0348f1f -> b8e64dc)
elpasync pushed a change to branch elpa/magit. from 0348f1f magit-version: If installed from Melpa then also show base version adds 4ee9c9a Add several commands for switching to existing Magit buffers adds b1b5b85 magit-mode-map: Rearrange bindings adds a7ae411 magit-mode-map: Reindent bindings adds 9d7a34e Use RET and TAB syntax in key definitions adds 413a98f Use kbd function more when defining key bindings adds 5bba626 magit-help: New command adds b54b537 magit-mode-map: Bind magit-init to "I" like in magit-dispatch adds ae9a3eb magit-dispatch: Bind magit-gitignore to "i" like in magit-mode-map adds 9bec1c5 magit-{mode-map,dispatch}: Add bindings for "H", "Q" and "Z" adds dbf3897 magit-dispatch: Refill columns adds b8e64dc Remove stray whitespace No new revisions were added by this update. Summary of changes: Documentation/RelNotes/3.3.0.org | 11 Documentation/magit.org | 44 ++-- Documentation/magit.texi | 54 ++-- lisp/magit-extras.el | 45 + lisp/magit-log.el| 20 +++ lisp/magit-mode.el | 45 +++-- lisp/magit-process.el| 2 +- lisp/magit-reflog.el | 4 +-- lisp/magit-refs.el | 4 +-- lisp/magit-section.el| 10 lisp/magit-status.el | 23 + lisp/magit.el| 27 12 files changed, 236 insertions(+), 53 deletions(-)
[nongnu] elpa/magit-section updated (0348f1f -> b8e64dc)
elpasync pushed a change to branch elpa/magit-section. from 0348f1f magit-version: If installed from Melpa then also show base version adds 4ee9c9a Add several commands for switching to existing Magit buffers adds b1b5b85 magit-mode-map: Rearrange bindings adds a7ae411 magit-mode-map: Reindent bindings adds 9d7a34e Use RET and TAB syntax in key definitions adds 413a98f Use kbd function more when defining key bindings adds 5bba626 magit-help: New command adds b54b537 magit-mode-map: Bind magit-init to "I" like in magit-dispatch adds ae9a3eb magit-dispatch: Bind magit-gitignore to "i" like in magit-mode-map adds 9bec1c5 magit-{mode-map,dispatch}: Add bindings for "H", "Q" and "Z" adds dbf3897 magit-dispatch: Refill columns adds b8e64dc Remove stray whitespace No new revisions were added by this update. Summary of changes: Documentation/RelNotes/3.3.0.org | 11 Documentation/magit.org | 44 ++-- Documentation/magit.texi | 54 ++-- lisp/magit-extras.el | 45 + lisp/magit-log.el| 20 +++ lisp/magit-mode.el | 45 +++-- lisp/magit-process.el| 2 +- lisp/magit-reflog.el | 4 +-- lisp/magit-refs.el | 4 +-- lisp/magit-section.el| 10 lisp/magit-status.el | 23 + lisp/magit.el| 27 12 files changed, 236 insertions(+), 53 deletions(-)
[nongnu] elpa/editorconfig 3f56ff9: Update texi doc
branch: elpa/editorconfig commit 3f56ff9e0e4a7c8d45e25a7a4bf239b261c39d28 Author: 10sr <8.slas...@gmail.com> Commit: 10sr <8.slas...@gmail.com> Update texi doc --- doc/editorconfig.texi | 284 ++ 1 file changed, 150 insertions(+), 134 deletions(-) diff --git a/doc/editorconfig.texi b/doc/editorconfig.texi index 2fd8d5c..5e7d3b8 100644 --- a/doc/editorconfig.texi +++ b/doc/editorconfig.texi @@ -8,44 +8,51 @@ @anchor{#editorconfig-emacs-plugin} This is an @uref{https://editorconfig.org,EditorConfig} plugin for @uref{https://www.gnu.org/software/emacs/,Emacs}. + @menu -* Installation:: +* Getting Started:: * Supported properties:: * Customize:: -* Testing:: +* Troubleshooting:: * Submitting Bugs and Feature Requests:: * License:: @end menu -@node Installation -@section Installation -@anchor{#installation} -Download the -@uref{https://github.com/editorconfig/editorconfig-core-c,EditorConfig C -Core} and follow the instructions in the README and INSTALL files to -install it. +@node Getting Started +@section Getting Started +@anchor{#getting-started} -This plugin also has a built-in core library implemented in Emacs-Lisp, -and fallback to it when no core executable is found. +@menu +* packageel:: +* use-package:: +* Manual installation:: +@end menu -In either case, copy @code{.el} files in this repository to -@code{~/.emacs.d/lisp} and add the following to your @code{~/.emacs} -file: +@node packageel +@subsection package.el +@anchor{#package.el} +This package is available from +@uref{https://melpa.org/#/editorconfig,MELPA}, +@uref{https://stable.melpa.org/#/editorconfig,MELPA Stable} and +@uref{http://elpa.nongnu.org/nongnu/editorconfig.html,NonGNU ELPA}. +Install from these repositories and enable global minor-mode +@code{editorconfig-mode}: @verbatim -(add-to-list 'load-path "~/.emacs.d/lisp") -(require 'editorconfig) (editorconfig-mode 1) @end verbatim -Alternatively, you can find the package available on -@uref{https://melpa.org/#/editorconfig,MELPA} and -@uref{https://stable.melpa.org/#/editorconfig,MELPA Stable} -(@uref{http://marmalade-repo.org/packages/editorconfig,The Marmalade -package} is deprecated). +Normally, enabling @code{editorconfig-mode} should be enough for this +plugin to work: all other configurations are optional. This mode sets up +hooks so that EditorConfig properties will be loaded and applied to the +new buffers automatically when visiting files. -Or if you use -@uref{https://www.emacswiki.org/emacs/UsePackage,@strong{use-package}}: +@node use-package +@subsection use-package +@anchor{#use-package} +If you use +@uref{https://www.emacswiki.org/emacs/UsePackage,@strong{use-package}}, +add the following to your @code{init.el} file: @verbatim (use-package editorconfig @@ -54,6 +61,18 @@ Or if you use (editorconfig-mode 1)) @end verbatim +@node Manual installation +@subsection Manual installation +@anchor{#manual-installation} +Copy all @code{.el} files in this repository to @code{~/.emacs.d/lisp} +and add the following: + +@verbatim +(add-to-list 'load-path "~/.emacs.d/lisp") +(require 'editorconfig) +(editorconfig-mode 1) +@end verbatim + @node Supported properties @section Supported properties @anchor{#supported-properties} @@ -85,8 +104,10 @@ trailing-newline-free @code{max_line_length} @item @code{file_type_ext} (Experimental) +(See below) @item @code{file_type_emacs} (Experimental) +(See below) @item @code{root} (only used by EditorConfig core) @end itemize @@ -96,78 +117,86 @@ implementing missing features warmly welcomed! Typically, you will want to tie these to native functionality, or the configuration of existing packages handling the feature. -As several packages have their own handling of, say, indentation, we might -not yet cover some mode you use, but we try to add the ones that show up -on our radar. Similarly, we don't yet hook in to all different packages -for whitespace trimming to inform them about editorconfig settings, but -aim for better coverage of things like -@uref{ftp://ftp.lysator.liu.se/pub/emacs/ws-trim.el,ws-trim}. +As several packages have their own handling of, say, indentation, we +might not yet cover some mode you use, but we try to add the ones that +show up on our radar. + @menu -* File Type:: +* File Type file_type_ext file_type_emacs:: @end menu -@node File Type -@subsection File Type -@anchor{#file-type} -This plugin has experimental supports for @code{file_type_ext} and -@code{file_type_emacs}, which specify ``file types'' for files. As for -Emacs, it means @code{major-mode} can be set. - -@strong{file_type_ext} When it is set to @code{md} for @code{a.txt}, for -example, @code{major-mode} will be decided as if the file name would be -@code{a.txt.md} (and thus @code{markdown-mode} is likely to be used). - -@strong{file_type_emacs} When it is set to @code{markdown} for -@code{a.txt}, @code{markdown-mode} will be enabled when opening -@code{a.txt
[nongnu] elpa/editorconfig 375418d: Prepare v0.8.2 (#262)
branch: elpa/editorconfig commit 375418d1d63f6ec780876593181b6d39054919da Author: 10sr <8.slas...@gmail.com> Commit: GitHub Prepare v0.8.2 (#262) * Update CHANGELOG * 2021 * Prepare v0.8.2 --- CHANGELOG.md| 47 +++-- editorconfig-conf-mode.el | 2 +- editorconfig-core-handle.el | 2 +- editorconfig-core.el| 2 +- editorconfig-fnmatch.el | 2 +- editorconfig.el | 4 ++-- 6 files changed, 51 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10df711..2b22162 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,19 +5,46 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - ## [Unreleased] ### Added +### Changed + +### Deprecated + +### Removed + +### Fixed + +### Security + + +## [0.8.2] - 2021-08-13 + +### Added + - Add rustic-mode to editorconfig-indentation-alist ([#208]) - Add conf-mode abbrev-table definitions ([#220]) +- Add meson-mode indentation rule ([#253]) +- Add support for rjsx-mode ([#254]) +- Update README for NonGNU ELPA repository ([#259]) +- Add new implementation of editorconfig-mode ([#248], [#250], [#251], [#255], [#258], [#260]) + - By default this is disabled: set `(setq editorconfig--enable-20210221-testing t)` to use this ### Fixed - Fix so that "?" does not match "/" ([#211]) - Fix document typo ([#213]) - Don't make unchanged vars buffer-local ([#222]) +- Silence byte-compiler warnings ([#235]) +- Use revert-buffer-with-coding-system to set coding system ([#236]) +- Do not run editorconfig-apply on recentf-save-file ([#241]) +- Skip special-mode buffers when applying ([#247]) +- Stop excluding remote files by default ([#234], [#245]) +- Fix editorconfig execution for remote hosts via tramp ([#249]) +- Add minor fixes to tests ([#252]) +- Fix excluding the recentf-save-file when in a symlinked directory ([#256]) ### Changed @@ -199,7 +226,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 *Undocumented* -[Unreleased]: https://github.com/editorconfig/editorconfig-emacs/compare/v0.8.1...HEAD +[Unreleased]: https://github.com/editorconfig/editorconfig-emacs/compare/v0.8.2...HEAD +[0.8.2]: https://github.com/editorconfig/editorconfig-emacs/compare/v0.8.1...v0.8.2 [0.8.1]: https://github.com/editorconfig/editorconfig-emacs/compare/v0.8.0...v0.8.1 [0.8.0]: https://github.com/editorconfig/editorconfig-emacs/compare/v0.7.14...v0.8.0 [0.7.14]: https://github.com/editorconfig/editorconfig-emacs/compare/v0.7.13...v0.7.14 @@ -225,6 +253,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [0.3]: https://github.com/editorconfig/editorconfig-emacs/compare/v0.2...v0.3 [0.2]: https://github.com/editorconfig/editorconfig-emacs/compare/v0.1...v0.2 [0.1]: https://github.com/editorconfig/editorconfig-emacs/releases/tag/v0.1 +[#260]: https://github.com/editorconfig/editorconfig-emacs/issues/260 +[#258]: https://github.com/editorconfig/editorconfig-emacs/issues/258 +[#255]: https://github.com/editorconfig/editorconfig-emacs/issues/255 +[#251]: https://github.com/editorconfig/editorconfig-emacs/issues/251 +[#250]: https://github.com/editorconfig/editorconfig-emacs/issues/250 +[#248]: https://github.com/editorconfig/editorconfig-emacs/issues/248 +[#259]: https://github.com/editorconfig/editorconfig-emacs/issues/259 +[#256]: https://github.com/editorconfig/editorconfig-emacs/issues/256 +[#252]: https://github.com/editorconfig/editorconfig-emacs/issues/252 +[#249]: https://github.com/editorconfig/editorconfig-emacs/issues/249 +[#245]: https://github.com/editorconfig/editorconfig-emacs/issues/245 +[#234]: https://github.com/editorconfig/editorconfig-emacs/issues/234 +[#241]: https://github.com/editorconfig/editorconfig-emacs/issues/241 +[#236]: https://github.com/editorconfig/editorconfig-emacs/issues/236 +[#235]: https://github.com/editorconfig/editorconfig-emacs/issues/235 [#222]: https://github.com/editorconfig/editorconfig-emacs/issues/222 [#222]: https://github.com/editorconfig/editorconfig-emacs/issues/222 [#220]: https://github.com/editorconfig/editorconfig-emacs/issues/220 diff --git a/editorconfig-conf-mode.el b/editorconfig-conf-mode.el index 613dd7c..9d4182c 100644 --- a/editorconfig-conf-mode.el +++ b/editorconfig-conf-mode.el @@ -1,6 +1,6 @@ ;;; editorconfig-conf-mode.el --- Major mode for editing .editorconfig files -*- lexical-binding: t -*- -;; Copyright (C) 2011-2020 EditorConfig Team +;; Copyright (C) 2011-2021 EditorConfig Team ;; Author: EditorConfig Team diff --git a/editorconfig-core-handle.el b/editorconfig-core-handle.el index d6a212f..afe2dfd 100644 --- a/editorconfig-core-handle.el +++ b/editorconfig-core-handle.el @@ -1,6 +1
[elpa] externals/auctex 51c960c: Release GNU AUCTeX 13.0.13
branch: externals/auctex commit 51c960c49e26fcd3f17ce7b7eba11399e7f847c1 Author: Tassilo Horn Commit: Tassilo Horn Release GNU AUCTeX 13.0.13 * GNU AUCTeX Version 13.0.13 released. --- auctex.el | 2 +- auctex.info| 204 ++--- preview-latex.info | 78 ++-- tex-site.el| 4 +- 4 files changed, 144 insertions(+), 144 deletions(-) diff --git a/auctex.el b/auctex.el index 09775e9..4ea1109 100644 --- a/auctex.el +++ b/auctex.el @@ -2,7 +2,7 @@ ;; Copyright (C) 2014-2021 Free Software Foundation, Inc. -;; Version: 13.0.12 +;; Version: 13.0.13 ;; URL: https://www.gnu.org/software/auctex/ ;; Maintainer: auctex-de...@gnu.org ;; Notifications-To: auctex-di...@gnu.org diff --git a/auctex.info b/auctex.info index ebc0391..8c4828b 100644 --- a/auctex.info +++ b/auctex.info @@ -1,7 +1,7 @@ This is auctex.info, produced by makeinfo version 6.8 from auctex.texi. -This manual is for AUCTeX (version 13.0.12.2021-08-12 from 2021-08-12), -a sophisticated TeX environment for Emacs. +This manual is for AUCTeX (version 13.0.13 from 2021-08-13), a +sophisticated TeX environment for Emacs. Copyright (C) 1992-1995, 2001, 2002, 2004-2021 Free Software Foundation, Inc. @@ -6016,8 +6016,8 @@ A.1 Copying this Manual The copyright notice for this manual is: - This manual is for AUCTeX (version 13.0.12.2021-08-12 from -2021-08-12), a sophisticated TeX environment for Emacs. + This manual is for AUCTeX (version 13.0.13 from 2021-08-13), a +sophisticated TeX environment for Emacs. Copyright (C) 1992-1995, 2001, 2002, 2004-2021 Free Software Foundation, Inc. @@ -9299,104 +9299,104 @@ Concept Index Tag Table: -Node: Top929 -Node: Copying7386 -Node: Introduction9331 -Node: Summary9601 -Node: Installation12334 -Node: Prerequisites14307 -Node: Configure16506 -Node: Build/install and uninstall21084 -Node: Loading the package21837 -Node: Advice for package providers23530 -Node: Advice for non-privileged users26335 -Node: Installation under MS Windows31681 -Node: Customizing45303 -Node: Quick Start46888 -Ref: Quick Start-Footnote-149010 -Node: Editing Facilities49104 -Node: Processing Facilities53799 -Node: Editing58528 -Node: Quotes59858 -Node: Font Specifiers68298 -Node: Sectioning70366 -Node: Environments74885 -Node: Equations80038 -Node: Floats80630 -Node: Itemize-like82634 -Node: Tabular-like83356 -Node: Customizing Environments85129 -Node: Mathematics85369 -Node: Completion88805 -Node: Marking95836 -Node: Marking (LaTeX)96460 -Node: Marking (Texinfo)97402 -Node: Commenting99013 -Node: Indenting100338 -Node: Filling106352 -Node: Display112224 -Node: Font Locking114719 -Node: Fontification of macros116798 -Node: Fontification of quotes126314 -Node: Fontification of math127808 -Node: Verbatim content131476 -Node: Faces132250 -Node: Known problems132747 -Node: Folding133744 -Node: Outline144517 -Node: Narrowing145796 -Node: Prettifying146865 -Node: Processing148102 -Node: Commands149430 -Node: Starting a Command149986 -Node: Selecting a Command154901 -Node: Processor Options163999 -Node: Viewing174392 -Node: Starting Viewers174766 -Node: I/O Correlation180416 -Node: Debugging185645 -Node: Ignoring warnings188263 -Node: Error overview190322 -Node: Checking192230 -Node: Control193846 -Node: Cleaning195955 -Node: Documentation197314 -Node: Customization198029 -Node: Modes and Hooks198522 -Node: Multifile200410 -Node: Parsing Files205142 -Node: Internationalization210131 -Node: European211479 -Node: Japanese218958 -Node: Automatic224022 -Node: Automatic Global226513 -Node: Automatic Private227645 -Node: Automatic Local228981 -Node: Style Files230012 -Node: Simple Style230818 -Node: Adding Macros234539 -Node: Adding Environments244038 -Node: Adding Other248702 -Node: Hacking the Parser251251 -Node: Appendices255240 -Node: Copying this Manual255536 -Node: GNU Free Documentation License256431 -Node: Changes281552 -Node: Development332381 -Node: Mid-term Goals333027 -Node: Wishlist334971 -Node: Bugs340419 -Node: FAQ341520 -Node: Texinfo mode346708 -Node: Exploiting347842 -Node: Superseding348660 -Node: Mapping352891 -Node: Unbinding354726 -Node: Indices355547 -Node: Key Index355710 -Node: Function Index363239 -Node: Variable Index374998 -Node: Concept Index399774 +Node: Top918 +Node: Copying7375 +Node: Introduction9320 +Node: Summary9590 +Node: Installation12323 +Node: Prerequisites14296 +Node: Configure16495 +Node: Build/install and uninstall21073 +Node: Loading the package21826 +Node: Advice for package providers23519 +Node: Advice for non-privileged users26324 +Node: Installation under MS Windows31670 +Node: Customizing45292 +Node: Quick Start46877 +Ref: Quick Start-Footnote-148999 +Node: Editing Facilities49093 +Node: Processing Facilities53788 +Node: Editing58517 +Node: Quotes59847 +No
[elpa] externals/emms 89e2caf: * emms.el: add player preference
branch: externals/emms commit 89e2caf942299b64360280c2606cf2553dccb58a Author: Yoni Rabkin Commit: Yoni Rabkin * emms.el: add player preference --- emms.el | 38 +- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/emms.el b/emms.el index 37116b1..f3bb678 100644 --- a/emms.el +++ b/emms.el @@ -314,6 +314,10 @@ being the playlist buffer.") (defvar emms-playlist-buffer nil "The current playlist buffer, if any.") +(defvar emms-players-preference-f #'emms-players-default-preference-f + "Default function for player preference.") + + ;;; Macros @@ -1454,11 +1458,43 @@ non-nil, or nil if no such player exists." (car lis) nil))) +(defun emms-players-default-preference-f (track players) + "Default preference function. + +Returns the first player." + (ignore track) + (car players)) + +(defun emms-players-preference (track players) + "Call `emms-players-preference-f' with TRACK and PLAYERS. + +The function `emms-players-preference-f' must accept an Emms +track and a list of players. It can be assumed that all of the +players in PLAYERS can play TRACK. + +The function must return one of the players from PLAYERS." + (funcall emms-players-preference-f track players)) + +(defun emms-players-for (track) + "Return a player for TRACK. + +If the track can be played by more than one player, call +`emms-players-preference' to choose a player." + (let (players) +(mapc + #'(lambda (player) +(when (funcall (emms-player-get player 'playablep) track) + (push player players))) + emms-player-list) +(if (< 1 (length players)) + (emms-players-preference track players) + (car players + (defun emms-player-start (track) "Start playing TRACK." (if emms-player-playing-p (error "A player is already playing") -(let ((player (emms-player-for track))) +(let ((player (emms-players-for track))) (if (not player) (error "Don't know how to play track: %S" track) ;; Change default-directory so we don't accidentally block any
[elpa] elpa-admin 384e805: * elpa-admin.el (elpaa--sandbox): Default to nil on w32 and macos
branch: elpa-admin commit 384e8059a11625ecbfad22bb295ba23bd15a2e41 Author: Stefan Monnier Commit: Stefan Monnier * elpa-admin.el (elpaa--sandbox): Default to nil on w32 and macos This basically reverts commit 069c128aea984b2f98567a5dcef82bee71f46e69, because it provides a different solution to the same original problem. (elpaa--make-one-tarball, elpaa--make-one-tarball-1): Remove `no-symlink` arg. Ignore symlink failure instead. (elpaa-batch-make-one-devel, elpaa-batch-make-one-info): Delete functions. (elpaa--make-one-package): Remove `devel-only` arg. (elpaa--release-email): Handle multiple maintainers. --- elpa-admin.el | 77 +++ 1 file changed, 41 insertions(+), 36 deletions(-) diff --git a/elpa-admin.el b/elpa-admin.el index f060d1f..16bc7a0 100644 --- a/elpa-admin.el +++ b/elpa-admin.el @@ -55,11 +55,17 @@ (defvar elpaa--sandbox-extra-ro-dirs nil) -(defvar elpaa--sandbox t +(defvar elpaa--sandbox + ;; Currently sandboxing is implemented using `bwrap' which AFAIK doesn't + ;; exist for w32 nor for macos, so there's no point defaulting to non-nil + ;; on those platforms. + ;; On GNU/linux we do default to non-nil regardless if we find `bwrap' in + ;; $PATH just out of paranoia (in case `bwrap' ends up missing by accident). + (not (memq system-type '(darwin ms-dos windows-nt cygwin))) "If non-nil, run some of the less trusted commands in a sandbox. This is recommended when building packages from untrusted sources, -but this requires Bubblewrap to be installed and has only been tested -on some Debian systems.") +but this requires Bubblewrap (https://github.com/containers/bubblewrap) +to be installed and has only been tested on some Debian systems.") (defvar elpaa--debug nil) @@ -317,7 +323,17 @@ Do it without leaving the current branch." (unless (zerop (buffer-size)) (if (zerop (elpaa--call t "git" "stash" "push" "-u" "-m" -"Saved changes while building tarball")) +"Saved changes while building tarball" +;; Don't stash the deletion of -pkg.el, +;; since it would cause a merge conflict +;; later in "stash apply". +;; Don't know when this was introduced into Git +;; and it seems somewhat fiddly (e.g. git-2.30.2 +;; gives a weird behavior if the "*" is missing), +;; so not sure it's worth the trouble: +;; +;; "--" "*" ":(exclude,glob)*-pkg.el" +)) (elpaa--temp-file (lambda () (with-temp-buffer @@ -493,7 +509,7 @@ Do it without leaving the current branch." oldtarballs) (defun elpaa--make-one-tarball ( tarball dir pkg-spec metadata - &optional revision-function tarball-only no-symlink) + &optional revision-function tarball-only) "Create file TARBALL for PKGNAME if not done yet. Return non-nil if a new tarball was created." (elpaa--message "Building tarball %s..." tarball) @@ -509,7 +525,7 @@ Return non-nil if a new tarball was created." (condition-case err (setq res (elpaa--make-one-tarball-1 tarball dir pkg-spec metadata - revision-function tarball-only no-symlink)) + revision-function tarball-only)) (error (message "Build error for %s: %S" tarball err) nil)) (message (if res " Built new package %s!" @@ -517,7 +533,7 @@ Return non-nil if a new tarball was created." tarball) (defun elpaa--make-one-tarball-1 ( tarball dir pkg-spec metadata - &optional revision-function tarball-only no-symlink) + &optional revision-function tarball-only) (elpaa--with-temp-files dir (let* ((destdir (file-name-directory tarball)) @@ -586,9 +602,9 @@ Return non-nil if a new tarball was created." (elpaa--call nil "git" "tag" "-f" (format "%s-release/%s-%s" elpaa--name pkgname vers -(unless no-symlink - (let ((link (expand-file-name (format "%s.tar" pkgname) destdir))) -(when (file-symlink-p link) (delete-file link)) + (let ((link (expand-file-name (format "%s.tar" pkgname) destdir))) + (when (file-symlink-p link) (delete-file link)) + (ignore-error file-error ;E.g. under w32! (make-symbolic-link (file-name-nondirectory tarball) link))) (setq oldtarballs (elpaa--prune-old-tarballs tarball oldtarb
[nongnu] elpa/git-commit b6b6251: magit-refresh-get-relative-position: Don't use count-lines
branch: elpa/git-commit commit b6b625134729ec52413cd126b4a76645f3279c28 Author: Jonas Bernoulli Commit: Jonas Bernoulli magit-refresh-get-relative-position: Don't use count-lines This function does not reliably return the number of lines between two positions. It returns either that, or that plus one; which is of course completely bonkers. Closes #4148. --- Documentation/RelNotes/3.3.0.org | 3 +++ lisp/magit-mode.el | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Documentation/RelNotes/3.3.0.org b/Documentation/RelNotes/3.3.0.org index 9f7b760..2b30741 100644 --- a/Documentation/RelNotes/3.3.0.org +++ b/Documentation/RelNotes/3.3.0.org @@ -33,3 +33,6 @@ a terminal. If this change does not have any effect for you then your theme probably changes these faces and should stop doing so. #4206 + +- In some cases refreshing a buffer caused the cursor to jump to a + different position. #4148 diff --git a/lisp/magit-mode.el b/lisp/magit-mode.el index 4d8e12b..8d50b04 100644 --- a/lisp/magit-mode.el +++ b/lisp/magit-mode.el @@ -1118,7 +1118,8 @@ Run hooks `magit-pre-refresh-hook' and `magit-post-refresh-hook'." (defun magit-refresh-get-relative-position () (when-let ((section (magit-current-section))) (let ((start (oref section start))) - (list (count-lines start (point)) + (list (- (line-number-at-pos (point)) + (line-number-at-pos start)) (- (point) (line-beginning-position)) (and (magit-hunk-section-p section) (region-active-p)
[nongnu] elpa/magit updated (b8e64dc -> b6b6251)
elpasync pushed a change to branch elpa/magit. from b8e64dc Remove stray whitespace adds b6b6251 magit-refresh-get-relative-position: Don't use count-lines No new revisions were added by this update. Summary of changes: Documentation/RelNotes/3.3.0.org | 3 +++ lisp/magit-mode.el | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-)
[nongnu] elpa/magit-section updated (b8e64dc -> b6b6251)
elpasync pushed a change to branch elpa/magit-section. from b8e64dc Remove stray whitespace adds b6b6251 magit-refresh-get-relative-position: Don't use count-lines No new revisions were added by this update. Summary of changes: Documentation/RelNotes/3.3.0.org | 3 +++ lisp/magit-mode.el | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-)
[nongnu] elpa/proof-general updated (bc86736 -> d64f5a1)
elpasync pushed a change to branch elpa/proof-general. from bc86736 Fixing #578: Canonical is a keyword bin itself. new 063d066 * ci/compile-tests/*/runtest.el: Use lexical-binding and find `cct-lib` new ad2f811 * lib/*.el: Use lexical-binding plus other minor changes new 91ce5cd * coq/*.el: Use lexical-binding plus various minor changes new d64f5a1 * generic/*.el: Use lexical-binding in proof-(tree|splash|pg-pamacs) Summary of changes: ci/compile-tests/001-mini-project/runtest.el | 4 +- .../002-require-no-dependencies/runtest.el | 4 +- ci/compile-tests/003-require-error/runtest.el | 4 +- ci/compile-tests/004-dependency-cycle/runtest.el | 4 +- ci/compile-tests/005-change-recompile/runtest.el | 6 +- ci/compile-tests/006-ready-dependee/runtest.el | 6 +- ci/compile-tests/007-slow-require/runtest.el | 6 +- ci/compile-tests/008-default-dir/runtest.el| 6 +- ci/compile-tests/009-failure-processing/runtest.el | 6 +- coq/coq-compile-common.el | 81 +++--- coq/coq-diffs.el | 2 +- coq/coq-indent.el | 6 +- coq/coq-par-compile.el | 91 +++--- coq/coq-seq-compile.el | 80 ++--- coq/coq-smie.el| 35 +-- coq/coq-syntax.el | 6 +- coq/coq-system.el | 14 +- coq/coq-unicode-tokens.el | 10 +- coq/coq.el | 324 ++--- generic/pg-pamacs.el | 46 +-- generic/proof-depends.el | 25 +- generic/proof-script.el| 24 +- generic/proof-site.el | 24 +- generic/proof-splash.el| 27 +- generic/proof-tree.el | 30 +- lib/bufhist.el | 40 +-- lib/holes.el | 23 +- lib/maths-menu.el | 12 +- lib/unicode-tokens.el | 161 +- 29 files changed, 555 insertions(+), 552 deletions(-)
[nongnu] elpa/proof-general 91ce5cd 3/4: * coq/*.el: Use lexical-binding plus various minor changes
branch: elpa/proof-general commit 91ce5cdec5ae4f4a00ea7411aea67d347895bef4 Author: Stefan Monnier Commit: Stefan Monnier * coq/*.el: Use lexical-binding plus various minor changes Fit docstrings within 80 columns. Prefer #' to quote function names. * coq/coq.el: Use lexical-binding. (proof-shell-process-urgent-message-default): Remove deadcode. (coq-set-auto-adapt-printing-width): Fix longstanding confusion between `set` and `setq`. (coq--show-proof-stepwise-cmds): New function. (coq-empty-action-list-command): Use it. Avoid `add-to-list` on local variables. (coq-guess-goal-buffer-at-next-command): Fix longstanding paren typo. (coq-proof-tree-get-new-subgoals): Use `push`. (coq-shell-theorem-dependency-list-regexp): Use `defconst`. (coq-dependency-menu-system-specific): Prefer closures over `(lambda..). * coq/coq-unicode-tokens.el: Use lexical-binding. (coq-control-region-format-regexp): Remove ineffective backslashes. * coq/coq-system.el (coq-autodetect-help): Simplify. * coq/coq-syntax.el (coq-queries-commands-db): Fix docstring within 80 columns. * coq/coq-smie.el (coq-smie-search-token-backward): Remove longstanding deadcode and optimize a bit. (coq-smie-backward-token-aux): Re-layout a bit to fit within 80 columns. (coq-show-smie--parent): Simplify. (coq-smie-rules): Pass second arg to `looking-back` to avoid pathological performance. * coq/coq-seq-compile.el: Use lexical-binding. (coq-seq-auto-compile-externally): Rename arg `qualified-id` to avoid dynbound name. Mark as dynbound those vars passed to `coq-compile-substitution-list`. (coq-seq-preprocess-require-commands): Declare `coq-object-hash-symbol` as dynbound. * coq/coq-par-compile.el: Use lexical-binding. (coq-par-coqdep-arguments, coq-par-coqc-arguments, coq-par-job-init-common) (coq-par-create-require-job, coq-par-create-file-job): Rename arg `coq-load-path` to avoid dynbound name. (coq-par-retire-top-level-job, coq-par-kickoff-queue-maybe) (coq-par-handle-require-list): Prefer closures over `(lambda...). * coq/coq-diffs.el: Use lexical-binding. * coq/coq-compile-common.el: Use lexical-binding. Remove redundant `:group`. (coq-display-compile-response-buffer): Avoid deprecated `font-lock-fontify-buffer`. --- coq/coq-compile-common.el | 81 +--- coq/coq-diffs.el | 2 +- coq/coq-indent.el | 6 +- coq/coq-par-compile.el| 91 ++--- coq/coq-seq-compile.el| 80 ++-- coq/coq-smie.el | 35 ++--- coq/coq-syntax.el | 6 +- coq/coq-system.el | 14 +- coq/coq-unicode-tokens.el | 10 +- coq/coq.el| 324 ++ 10 files changed, 316 insertions(+), 333 deletions(-) diff --git a/coq/coq-compile-common.el b/coq/coq-compile-common.el index 10eae53..8d836b6 100644 --- a/coq/coq-compile-common.el +++ b/coq/coq-compile-common.el @@ -1,9 +1,9 @@ -;;; coq-compile-common.el --- common part of compilation feature +;;; coq-compile-common.el --- common part of compilation feature -*- lexical-binding: t; -*- ;; This file is part of Proof General. ;; Portions © Copyright 1994-2012 David Aspinall and University of Edinburgh -;; Portions © Copyright 2003-2018 Free Software Foundation, Inc. +;; Portions © Copyright 2003-2021 Free Software Foundation, Inc. ;; Portions © Copyright 2001-2017 Pierre Courtieu ;; Portions © Copyright 2010, 2016 Erik Martin-Dorel ;; Portions © Copyright 2011-2013, 2016-2017, 2019-2021 Hendrik Tews @@ -47,33 +47,33 @@ "Enable parallel compilation. Must be used together with `coq-seq-disable'." (add-hook 'proof-shell-extend-queue-hook - 'coq-par-preprocess-require-commands) + #'coq-par-preprocess-require-commands) (add-hook 'proof-shell-signal-interrupt-hook - 'coq-par-user-interrupt) + #'coq-par-user-interrupt) (add-hook 'proof-shell-handle-error-or-interrupt-hook - 'coq-par-user-interrupt)) + #'coq-par-user-interrupt)) (defun coq-par-disable () "Disable parallel compilation. Must be used together with `coq-seq-enable'." (remove-hook 'proof-shell-extend-queue-hook - 'coq-par-preprocess-require-commands) + #'coq-par-preprocess-require-commands) (remove-hook 'proof-shell-signal-interrupt-hook - 'coq-par-user-interrupt) + #'coq-par-user-interrupt) (remove-hook 'proof-shell-handle-error-or-interrupt-hook - 'coq-par-user-interrupt)) + #'coq-par-user-interrupt)) (defun coq-seq-enable () "Enable sequential synchronous compilation. Must be used together with `coq-par-disable'." (add-hook 'proof-shell-extend-queue-hook - 'coq-seq-preprocess-require-commands)) + #'coq-seq-preprocess-requ
[nongnu] elpa/proof-general 063d066 1/4: * ci/compile-tests/*/runtest.el: Use lexical-binding and find `cct-lib`
branch: elpa/proof-general commit 063d066cb77dc2ec628c42f2d8e35fc24be341e4 Author: Stefan Monnier Commit: Stefan Monnier * ci/compile-tests/*/runtest.el: Use lexical-binding and find `cct-lib` This removes the presumption that `ci/compile-tests` has somehow been added to `load-path` which is not always justified. --- ci/compile-tests/001-mini-project/runtest.el| 4 ++-- ci/compile-tests/002-require-no-dependencies/runtest.el | 4 ++-- ci/compile-tests/003-require-error/runtest.el | 4 ++-- ci/compile-tests/004-dependency-cycle/runtest.el| 4 ++-- ci/compile-tests/005-change-recompile/runtest.el| 6 +++--- ci/compile-tests/006-ready-dependee/runtest.el | 6 +++--- ci/compile-tests/007-slow-require/runtest.el| 6 +++--- ci/compile-tests/008-default-dir/runtest.el | 6 +++--- ci/compile-tests/009-failure-processing/runtest.el | 6 +++--- 9 files changed, 23 insertions(+), 23 deletions(-) diff --git a/ci/compile-tests/001-mini-project/runtest.el b/ci/compile-tests/001-mini-project/runtest.el index 71858d8..2048684 100644 --- a/ci/compile-tests/001-mini-project/runtest.el +++ b/ci/compile-tests/001-mini-project/runtest.el @@ -1,4 +1,4 @@ -;; This file is part of Proof General. +;; This file is part of Proof General. -*- lexical-binding: t; -*- ;; ;; © Copyright 2020 Hendrik Tews ;; @@ -26,7 +26,7 @@ ;; require cct-lib for the elisp compilation, otherwise this is present already -(require 'cct-lib) +(require 'cct-lib "ci/compile-tests/cct-lib") ;;; set configuration (cct-configure-proof-general) diff --git a/ci/compile-tests/002-require-no-dependencies/runtest.el b/ci/compile-tests/002-require-no-dependencies/runtest.el index f2feefa..07115d6 100644 --- a/ci/compile-tests/002-require-no-dependencies/runtest.el +++ b/ci/compile-tests/002-require-no-dependencies/runtest.el @@ -1,4 +1,4 @@ -;; This file is part of Proof General. +;; This file is part of Proof General. -*- lexical-binding: t; -*- ;; ;; © Copyright 2020 Hendrik Tews ;; @@ -23,7 +23,7 @@ ;; require cct-lib for the elisp compilation, otherwise this is present already -(require 'cct-lib) +(require 'cct-lib "ci/compile-tests/cct-lib") ;;; set configuration (cct-configure-proof-general) diff --git a/ci/compile-tests/003-require-error/runtest.el b/ci/compile-tests/003-require-error/runtest.el index c5e2a71..a843f6b 100644 --- a/ci/compile-tests/003-require-error/runtest.el +++ b/ci/compile-tests/003-require-error/runtest.el @@ -1,4 +1,4 @@ -;; This file is part of Proof General. +;; This file is part of Proof General. -*- lexical-binding: t; -*- ;; ;; © Copyright 2020 Hendrik Tews ;; @@ -26,7 +26,7 @@ ;; require cct-lib for the elisp compilation, otherwise this is present already -(require 'cct-lib) +(require 'cct-lib "ci/compile-tests/cct-lib") ;;; set configuration (cct-configure-proof-general) diff --git a/ci/compile-tests/004-dependency-cycle/runtest.el b/ci/compile-tests/004-dependency-cycle/runtest.el index 97d60fb..f2005bf 100644 --- a/ci/compile-tests/004-dependency-cycle/runtest.el +++ b/ci/compile-tests/004-dependency-cycle/runtest.el @@ -1,4 +1,4 @@ -;; This file is part of Proof General. +;; This file is part of Proof General. -*- lexical-binding: t; -*- ;; ;; © Copyright 2020 Hendrik Tews ;; @@ -26,7 +26,7 @@ ;; require cct-lib for the elisp compilation, otherwise this is present already -(require 'cct-lib) +(require 'cct-lib "ci/compile-tests/cct-lib") ;;; set configuration (cct-configure-proof-general) diff --git a/ci/compile-tests/005-change-recompile/runtest.el b/ci/compile-tests/005-change-recompile/runtest.el index 825ad83..e8bc6f7 100644 --- a/ci/compile-tests/005-change-recompile/runtest.el +++ b/ci/compile-tests/005-change-recompile/runtest.el @@ -1,4 +1,4 @@ -;; This file is part of Proof General. +;; This file is part of Proof General. -*- lexical-binding: t; -*- ;; ;; © Copyright 2020 Hendrik Tews ;; @@ -36,7 +36,7 @@ ;; ;; require cct-lib for the elisp compilation, otherwise this is present already -(require 'cct-lib) +(require 'cct-lib "ci/compile-tests/cct-lib") ;;; set configuration (cct-configure-proof-general) @@ -53,7 +53,7 @@ "All ancestors.") (defconst all-compiled-ancestors - (mapcar 'cct-library-vo-of-v-file all-ancestors) + (mapcar #'cct-library-vo-of-v-file all-ancestors) "All vo ancestors files.") diff --git a/ci/compile-tests/006-ready-dependee/runtest.el b/ci/compile-tests/006-ready-dependee/runtest.el index 9f4a2ce..f64a0f4 100644 --- a/ci/compile-tests/006-ready-dependee/runtest.el +++ b/ci/compile-tests/006-ready-dependee/runtest.el @@ -1,4 +1,4 @@ -;; This file is part of Proof General. +;; This file is part of Proof General. -*- lexical-binding: t; -*- ;; ;; © Copyright 2020 Hendrik Tews ;; @@ -35,7 +35,7 @@ ;; require cct-lib for the elisp compilation, otherwise this is present already -(require 'cct-lib) +(re
[nongnu] elpa/proof-general d64f5a1 4/4: * generic/*.el: Use lexical-binding in proof-(tree|splash|pg-pamacs)
branch: elpa/proof-general commit d64f5a10bc4747f04b4ae908f88c21ae7f452495 Author: Stefan Monnier Commit: Stefan Monnier * generic/*.el: Use lexical-binding in proof-(tree|splash|pg-pamacs) Plus various minor changes found along the way. * generic/proof-tree.el: Use lexical-binding. (proof-tree-insert-script, proof-tree-make-show-goal-callback): Prefer closures over `(lambda...). (proof-tree-handle-proof-command): Remove unused var `proof-state`. * generic/proof-splash.el: Use lexical-binding. (proof-splash-message): Prefer closures over `(lambda...). * generic/proof-site.el (proof-assistants): Use `mapconcat` and quote symbols using the ELisp docstring convention. * generic/proof-script.el (pg-add-element): Prefer closures over `(lambda...). (proof-config-done): Remove calls to `easy-menu-add` since we don't support XEmacs any more. * generic/proof-depends.el (proof-dependency-in-span-context-menu): Simplify by eta-reduction. (proof-dep-make-submenu): Prefer closures over `(lambda...). * generic/pg-pamacs.el: Use lexical-binding. (proof-defpgcustom-fn): Remove unused var `newargs`. Simplify a bit using `push` and `memq`. --- generic/pg-pamacs.el | 46 -- generic/proof-depends.el | 25 + generic/proof-script.el | 24 +++- generic/proof-site.el| 24 ++-- generic/proof-splash.el | 27 +-- generic/proof-tree.el| 30 +++--- 6 files changed, 90 insertions(+), 86 deletions(-) diff --git a/generic/pg-pamacs.el b/generic/pg-pamacs.el index 1492e0c..c603d15 100644 --- a/generic/pg-pamacs.el +++ b/generic/pg-pamacs.el @@ -1,9 +1,9 @@ -;;; pg-pamacs.el --- Macros for per-proof assistant configuration +;;; pg-pamacs.el --- Macros for per-proof assistant configuration -*- lexical-binding: t; -*- ;; This file is part of Proof General. ;; Portions © Copyright 1994-2012 David Aspinall and University of Edinburgh -;; Portions © Copyright 2003, 2012, 2014 Free Software Foundation, Inc. +;; Portions © Copyright 2003-2021 Free Software Foundation, Inc. ;; Portions © Copyright 2001-2017 Pierre Courtieu ;; Portions © Copyright 2010, 2016 Erik Martin-Dorel ;; Portions © Copyright 2011-2013, 2016-2017 Hendrik Tews @@ -75,7 +75,7 @@ This macro should only be invoked once a specific prover is engaged." (defun proof-ass-differs-from-default (sym) "Return non-nil if SYM for current prover differs from its customize standard value." (let ((pasym (proof-ass-symv sym))) -(not (equal (eval (car (get pasym 'standard-value))) +(not (equal (eval (car (get pasym 'standard-value)) t) (symbol-value pasym) (defun proof-defpgcustom-fn (sym args) @@ -83,14 +83,16 @@ This macro should only be invoked once a specific prover is engaged." Helper for macro `defpgcustom'." (let ((specific-var (proof-ass-symv sym)) (generic-var (intern (concat "proof-assistant-" (symbol-name sym -(newargs (if (member :group args) - args - (append (list :group - proof-assistant-internals-cusgrp) - args +;; (newargs (if (member :group args) +;; args +;; (append (list :group +;; proof-assistant-internals-cusgrp) +;; args))) +) (eval `(defcustom ,specific-var - ,@args)) + ,@args) + t) ;; For functions, we could simply use defalias. Unfortunately there ;; is nothing similar for values, so we define a new set/get function. (eval @@ -100,7 +102,8 @@ Helper for macro `defpgcustom'." If NEWVAL is present, set the variable, otherwise return its current value.") (if newval (setq ,specific-var newval) - ,specific-var) + ,specific-var)) + t))) (defun undefpgcustom (sym) (let ((specific-var (proof-ass-symv sym)) @@ -188,7 +191,7 @@ Usage: (defpgdefault SYM VALUE)" (setq args (cdr args))) ((eq (car args) :type) (setq type (cadr args)) - (if (eq (eval type) 'float) + (if (eq (eval type t) 'float) (setq type (quote 'number))) ; widget type for defcustom (setq args (cdr args)) (setq newargs (cons type (cons :type newargs @@ -198,10 +201,7 @@ Usage: (defpgdefault SYM VALUE)" (setq newargs (reverse newargs)) (setq descr (car-safe newargs)) (unless (and type - (or (eq (eval type) 'boolean) - (eq (eval type) 'integer) - (eq (eval type) 'number) - (eq (eval type) 'string))) + (memq (eval type t) '(boolean integer number s
[nongnu] elpa/proof-general ad2f811 2/4: * lib/*.el: Use lexical-binding plus other minor changes
branch: elpa/proof-general commit ad2f811883106995005d2d396b48451c46f27861 Author: Stefan Monnier Commit: Stefan Monnier * lib/*.el: Use lexical-binding plus other minor changes E.g. prefer #' to quote function names. * lib/unicode-tokens.el: Use lexical-binding. (unicode-tokens-toggle-add-help-echo, unicode-tokens-show-symbols) (unicode-tokens-highlight-unicode, unicode-tokens-mode): Avoid deprecated `font-lock-fontify-buffer`. (unicode-tokens-quail-define-rules): Simplify with a more functional style. (unicode-tokens-set-font-var): Avoid needless `setq`. (unicode-tokens-customize-submenu, unicode-tokens-define-menu): Prefer closures over `(lambda..). * lib/maths-menu.el (maths-menu-build-menu): Prefer closure over `(lambda..). (maths-menu-mode): Avoid ancient position-based calling convention of `define-minor-mode`. * lib/holes.el (holes-mode): Avoid ancient position-based calling convention of `define-minor-mode`. * lib/bufhist.el: Use lexical-binding. (bufhist-mode-map): Rename from `bufhist-minor-mode-map` to follow the usual conventions. (bufhist-mode): Avoid ancient position-based calling convention of `define-minor-mode`. --- lib/bufhist.el| 40 ++--- lib/holes.el | 23 lib/maths-menu.el | 12 ++-- lib/unicode-tokens.el | 161 +++--- 4 files changed, 126 insertions(+), 110 deletions(-) diff --git a/lib/bufhist.el b/lib/bufhist.el index 7e96682..91cfd67 100644 --- a/lib/bufhist.el +++ b/lib/bufhist.el @@ -1,9 +1,9 @@ -;; bufhist.el --- keep read-only history of buffer contents for browsing +;; bufhist.el --- keep read-only history of buffer contents for browsing -*- lexical-binding: t; -*- ;; This file is part of Proof General. ;; Portions © Copyright 1994-2012 David Aspinall and University of Edinburgh -;; Portions © Copyright 2003-2018 Free Software Foundation, Inc. +;; Portions © Copyright 2003-2021 Free Software Foundation, Inc. ;; Portions © Copyright 2001-2017 Pierre Courtieu ;; Portions © Copyright 2010, 2016 Erik Martin-Dorel ;; Portions © Copyright 2011-2013, 2016-2017 Hendrik Tews @@ -59,8 +59,7 @@ :group 'tools) (defcustom bufhist-ring-size 30 - "*Default size of buffer history ring." - :group 'bufhist + "Default size of buffer history ring." :type 'integer) (defvar bufhist-ring nil @@ -98,10 +97,10 @@ (let ((map (make-sparse-keymap))) ;; FIXME: clicking can go wrong here because the ;; current buffer can be something else which has no hist! - (define-key map [mode-line mouse-1] 'bufhist-prev) - (define-key map [mode-line mouse-3] 'bufhist-next) - ;; (define-key map [mode-line control mouse-1] 'bufhist-first) - ;; (define-key map [mode-line control mouse-3] 'bufhist-last) + (define-key map [mode-line mouse-1] #'bufhist-prev) + (define-key map [mode-line mouse-3] #'bufhist-next) + ;; (define-key map [mode-line control mouse-1] #'bufhist-first) + ;; (define-key map [mode-line control mouse-3] #'bufhist-last) map)) 'mouse-face 'mode-line-highlight @@ -113,15 +112,17 @@ ;;; Minor mode -(defconst bufhist-minor-mode-map +(define-obsolete-variable-alias + 'bufhist-minor-mode-map 'bufhist-mode-map "2021") +(defconst bufhist-mode-map (let ((map (make-sparse-keymap))) -;; (define-key map [mouse-2] 'bufhist-popup-menu) -(define-key map [(meta left)] 'bufhist-prev) -(define-key map [(meta right)] 'bufhist-next) -(define-key map [(meta up)] 'bufhist-first) -(define-key map [(meta down)] 'bufhist-last) -(define-key map [(meta c)] 'bufhist-clear) -(define-key map [(meta d)] 'bufhist-delete) +;; (define-key map [mouse-2] #'bufhist-popup-menu) +(define-key map [(meta left)] #'bufhist-prev) +(define-key map [(meta right)] #'bufhist-next) +(define-key map [(meta up)]#'bufhist-first) +(define-key map [(meta down)] #'bufhist-last) +(define-key map [(meta c)] #'bufhist-clear) +(define-key map [(meta d)] #'bufhist-delete) map) "Keymap for `bufhist-minor-mode'.") @@ -129,15 +130,14 @@ (define-minor-mode bufhist-mode "Minor mode retaining an in-memory history of the buffer contents. -Commands:\\ +Commands:\\ \\[bufhist-prev]bufhist-prevgo back in history \\[bufhist-next]bufhist-nextgo forward in history \\[bufhist-first] bufhist-first go to first item in history \\[bufhist-last]bufhist-lastgo to last (current) item in history. \\[bufhist-clear] bufhist-clear clear history. \\[bufhist-delete] bufhist-clear delete current item from history." - nil "" bufhist-minor-mode-map - :group 'bufhist + :lighter "" (if bufhist-mode
[nongnu] elpa/git-commit e401bd4: magit-mode-map: Reserve "N" for forge-dispatch
branch: elpa/git-commit commit e401bd4d39c1799d8689f116f066bb8a7c7e8899 Author: Jonas Bernoulli Commit: Jonas Bernoulli magit-mode-map: Reserve "N" for forge-dispatch And mention bindings of "n" and "p". --- lisp/magit-mode.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lisp/magit-mode.el b/lisp/magit-mode.el index 8d50b04..7396a26 100644 --- a/lisp/magit-mode.el +++ b/lisp/magit-mode.el @@ -373,8 +373,11 @@ recommended value." (define-key map "L" 'magit-log-refresh) (define-key map "m" 'magit-merge) (define-key map "M" 'magit-remote) +;; section-map "n" magit-section-forward +;; reserved "N" forge-dispatch (define-key map "o" 'magit-submodule) (define-key map "O" 'magit-subtree) +;; section-map "p" magit-section-backward (define-key map "P" 'magit-push) (define-key map "q" 'magit-mode-bury-buffer) (define-key map "Q" 'magit-git-command)
[nongnu] elpa/magit updated (b6b6251 -> e401bd4)
elpasync pushed a change to branch elpa/magit. from b6b6251 magit-refresh-get-relative-position: Don't use count-lines adds e401bd4 magit-mode-map: Reserve "N" for forge-dispatch No new revisions were added by this update. Summary of changes: lisp/magit-mode.el | 3 +++ 1 file changed, 3 insertions(+)
[nongnu] elpa/magit-section updated (b6b6251 -> e401bd4)
elpasync pushed a change to branch elpa/magit-section. from b6b6251 magit-refresh-get-relative-position: Don't use count-lines adds e401bd4 magit-mode-map: Reserve "N" for forge-dispatch No new revisions were added by this update. Summary of changes: lisp/magit-mode.el | 3 +++ 1 file changed, 3 insertions(+)
[nongnu] elpa/proof-general 3d361fa: * doc/PG-adapting.texi: Refresh with `make -C doc magic`
branch: elpa/proof-general commit 3d361fa6915df412c3ecf707f219316ccb894e62 Author: Stefan Monnier Commit: Stefan Monnier * doc/PG-adapting.texi: Refresh with `make -C doc magic` * lib/texi-docstring-magic.el: Use lexical-binding. Fix regexps to avoid ineffective backslashes. (texi-docstring--args, texi-docstring--in-quoted-region): Rename dynamically scoped vars. (texi-docstring-magic-munge-table): Use functions rather than quoted expressions. (texi-docstring--funcall): New function. (texi-docstring-magic-munge-docstring): Use it instead of `eval`. --- doc/PG-adapting.texi| 16 +++ lib/texi-docstring-magic.el | 110 ++-- 2 files changed, 70 insertions(+), 56 deletions(-) diff --git a/doc/PG-adapting.texi b/doc/PG-adapting.texi index 86b7eab..4e0ec65 100644 --- a/doc/PG-adapting.texi +++ b/doc/PG-adapting.texi @@ -335,7 +335,7 @@ more details. @c Internals. @c TEXI DOCSTRING MAGIC: proof-assistant-table -@defopt proof-assistant-table +@defvar proof-assistant-table Proof General's table of supported proof assistants.@* This is copied from @samp{@code{proof-assistant-table-default}} at load time, removing any entries that do not have a corresponding directory @@ -360,9 +360,7 @@ file for the mode, which will be @end lisp where @var{proof-home-directory} is the value of the variable @samp{@code{proof-home-directory}}. - -The default value is @code{((isar "Isabelle" "thy") (coq "Coq" "v" nil (".vo" ".glob")) (easycrypt "EasyCrypt" "ec" "\\.eca?\\'") (phox "PhoX" "phx" nil (".phi" ".pho")) (pgshell "PG-Shell" "pgsh") (pgocaml "PG-OCaml" "pgml") (pghaskell "PG-Haskell" "pghci"))}. -@end defopt +@end defvar The final step of the description above is where the work lies. There @@ -2914,7 +2912,7 @@ assistant is already busy with the next item from @code{proof-action-list}. @c TEXI DOCSTRING MAGIC: proof-tree-handle-delayed-output -@defun proof-tree-handle-delayed-output old-proof-marker cmd flags span +@defun proof-tree-handle-delayed-output old-proof-marker cmd flags _span Process delayed output for prooftree.@* This function is the main entry point of the Proof General prooftree support. It examines the delayed output in order to @@ -3307,9 +3305,9 @@ extension. The proof assistants enabled are the ones listed in the @code{proof-assistants} setting. @c TEXI DOCSTRING MAGIC: proof-assistants -@defopt proof-assistants +@defvar proof-assistants Choice of proof assistants to use with Proof General.@* -A list of symbols chosen from: @code{'isar} @code{'coq} @code{'easycrypt} @code{'phox} @code{'pgshell} @code{'pgocaml} @code{'pghaskell}. +A list of symbols chosen from: @samp{isar} @samp{coq} @samp{easycrypt} @samp{phox} @samp{pgshell} @samp{pgocaml} @samp{pghaskell}. If nil, the default will be ALL available proof assistants. Each proof assistant defines its own instance of Proof General, @@ -3325,9 +3323,7 @@ symbols you want, for example "lego isa". Or you can edit the file @samp{proof-site.el} itself. Note: to change proof assistant, you must start a new Emacs session. - -The default value is @code{nil}. -@end defopt +@end defvar The file @file{proof-site.el} also defines a version variable. diff --git a/lib/texi-docstring-magic.el b/lib/texi-docstring-magic.el index a028f56..b6ef604 100644 --- a/lib/texi-docstring-magic.el +++ b/lib/texi-docstring-magic.el @@ -1,9 +1,9 @@ -;;; texi-docstring-magic.el --- munge internal docstrings into texi +;;; texi-docstring-magic.el --- munge internal docstrings into texi -*- lexical-binding: t; -*- ;; This file is part of Proof General. ;; Portions © Copyright 1994-2012 David Aspinall and University of Edinburgh -;; Portions © Copyright 2003-2018 Free Software Foundation, Inc. +;; Portions © Copyright 2003-2021 Free Software Foundation, Inc. ;; Portions © Copyright 2001-2017 Pierre Courtieu ;; Portions © Copyright 2010, 2016 Erik Martin-Dorel ;; Portions © Copyright 2011-2013, 2016-2017 Hendrik Tews @@ -110,28 +110,32 @@ Compatibility between FSF Emacs and XEmacs." (setq strings (cdr strings))) str)) +(defvar texi-docstring--args) +(defvar texi-docstring--in-quoted-region) + (defconst texi-docstring-magic-munge-table - '(;; 0. Escape @, { and } characters + `(;; 0. Escape @, { and } characters ("\\(@\\)" t "@@") ("\\({\\)" t "@{") ("\\(}\\)" t "@}") ;; 1. Indented lines are gathered into @lisp environment. ("^\\(\n\\|.+\\)$" t - (let -((line (match-string 0 docstring))) - (if (save-match-data (string-match "^[ \t]" line)) - ;; whitespace - (if in-quoted-region - line -(setq in-quoted-region t) -(concat "@lisp\n" line)) -;; non-white space/carriage return -(if (and in-quoted-region (not (equal line "\n"))) -(progn - (setq in-quoted-region nil) -
[nongnu] elpa/proof-general e2ee96b: * Makefile (BYTECOMP): Add the root dir to match to ELPA setup
branch: elpa/proof-general commit e2ee96b209e740afd9349bfaab8410d98e1eaccd Author: Stefan Monnier Commit: Stefan Monnier * Makefile (BYTECOMP): Add the root dir to match to ELPA setup Also don't remove the `cl-functions` warning any more. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c022d9a..265aad6 100644 --- a/Makefile +++ b/Makefile @@ -74,7 +74,7 @@ BIN_SCRIPTS = lego/legotags coq/coqtags isar/isartags # to output the compile-time load path and ELISP_DIRS_COMP so these are set # just in that one place. ERROR_ON_WARN = nil -BYTECOMP = $(BATCHEMACS) -eval '(setq load-path (append (mapcar (lambda (d) (expand-file-name (symbol-name d))) (quote (${ELISP_DIRS_COMP}))) load-path))' -eval '(progn (require (quote bytecomp)) (require (quote mouse)) (require (quote tool-bar)) (require (quote fontset)) (setq byte-compile-warnings (remove (quote cl-functions) (remove (quote noruntime) byte-compile-warning-types))) (setq byte-compile-error-on-warn $(ERROR_ON_WARN)))' -f batch-byte-compile +BYTECOMP = $(BATCHEMACS) -eval '(setq load-path (append (mapcar (lambda (d) (expand-file-name (symbol-name d))) (quote (\. ${ELISP_DIRS_COMP}))) load-path))' -eval '(progn (require (quote bytecomp)) (require (quote mouse)) (require (quote tool-bar)) (require (quote fontset)) (setq byte-compile-warnings (remove (quote noruntime) byte-compile-warning-types)) (setq byte-compile-error-on-warn $(ERROR_ON_WARN)))' -f batch-byte-compile EL=$(shell for f in $(ELISP_DIRS_COMP); do ls $$f/*.el; done) ELC=$(EL:.el=.elc)
[elpa] externals/eev 504ba89: Added a section "0. How to use this" to `(find-lexical-intro)'.
branch: externals/eev commit 504ba89275a1e8f0a52d6fb667ab286ac7d59c89 Author: Eduardo Ochs Commit: Eduardo Ochs Added a section "0. How to use this" to `(find-lexical-intro)'. --- VERSION | 4 +- eev-intro.el | 117 ++- eev.el | 2 +- 3 files changed, 119 insertions(+), 4 deletions(-) diff --git a/VERSION b/VERSION index c845d25..37b6ff7 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -Fri Aug 13 05:54:51 GMT 2021 -Fri Aug 13 02:54:51 -03 2021 +Sat Aug 14 00:16:32 GMT 2021 +Fri Aug 13 21:16:32 -03 2021 diff --git a/eev-intro.el b/eev-intro.el index a052010..74e2e54 100644 --- a/eev-intro.el +++ b/eev-intro.el @@ -19,7 +19,7 @@ ;; ;; Author: Eduardo Ochs ;; Maintainer: Eduardo Ochs -;; Version:20210529 +;; Version:20210813 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eev-intro.el> @@ -13500,8 +13500,123 @@ See: + +0. How to use this +== +Usually people select between lexical binding and dynamic binding +by putting their functions that use lexical binding in files with +a \"-*- lexical-binding:t -*-\" in their first line, like this: + + (find-efile \"play/tetris.el\" \"lexical-binding:t\") + +See: + + (find-elnode \"Using Lexical Binding\") + (find-elnode \"Using Lexical Binding\" \"first line\") + +Here we will do something much more low-level. `(eval CODE)' +and `(eval CODE nil)' both eval CODE using dynamic binding, +but `(eval CODE t)' and `(eval CODE 'lexical)' eval CODE using +lexical binding. In dynamic binding all `defun's generate +lambdas, but in lexical binding some `defun's generate closures. +You can test this by running the four sexps below with `M-e' - +the `(eval ... 'lexical)' stores a closure in the function cell +of `foo': + + (eval '(let ((x 42)) (defun foo () (* x x))) nil) + (symbol-function 'foo) + + (eval '(let ((x 42)) (defun foo () (* x x))) 'lexical) + (symbol-function 'foo) + +We will also use another technique, based on `M-e', for making +code eval-able in both dynamic binding mode and lexical binding +mode. + +Let me list some facts... + + 1) dynamic binding is still the current default, but it is + being phased out and may be declared obsolete in a few years + - AND EVEN KILLED COMPLETELY, despite the complaints of the + many people who love it, like me; + + 2) `M-e' goes to the end of the line, reads the sexp before + point, and `eval's it; + + 3) `M-e' _sort of_ emulates `C-e C-x C-e', but `C-x C-e' + doesn't run a plain `eval' - it runs a function based on + `eval' that has lots of bells and whistles, and that is too + complex for my tiny brain. Take a look at its code: + +(eek \"M-h M-k C-x C-e ;; eval-last-sexp\") +(find-efunctiondescr 'eval-last-sexp) +(find-efunction 'eval-last-sexp) + + 4) `C-x C-e' uses the buffer-local variable `lexical-binding' + to decide whether it should use dynamic or lexical binding, + while `M-e' does not. Try to eval the sexps below with a + series or `C-e C-x C-e's: + + (setq-local lexical-binding t) + (let ((x 42)) (defun foo () (* x x))) + (symbol-function 'foo) + + (setq-local lexical-binding nil) + (let ((x 42)) (defun foo () (* x x))) + (symbol-function 'foo) + + You will see that the first block generates a closure and + the second does not. If you try to execute those six sexps + with `M-e's you'll get lambdas in both blocks. + + 5) I chose to use a simple `eval' without the second argument + in the plain `M-e' because: a) it is simpler to understand, + b) it is simpler to explain to beginners, and b) people can + change it by redefining this function: + + (find-eev \"eev-eval.el\" \"arg-variants\" \"ee-eval-last-sexp-default\") + + 6) `M-e' supports numeric prefixes that select alternate + actions - for example, `M-0 M-e' highlights the sexp instead + of executing it - and it's easy to add new alternate + actions. See: + + (find-eev \"eev-eval.el\" \"ee-eval-last-sexp\") + (find-eev \"eev-eval.el\" \"arg-variants\") + + 7) `M-1 M-1 M-e' (or: `M-11e') uses `(eval ... 'lexical)' + instead of the plain `eval'. See: + + (find-efunction 'ee-eval-last-sexp-default) + (find-efunction 'ee-eval-last-sexp-11) + (find-efunction 'ee-eval-lexical) + + Try to execute the 4-line sexp below with both `M-e' and + `M-11e': + +(let ((x 42)) + (defun foo () (* x x)) +
[elpa] externals/eev 6664769: Added the sections 1, 2, and 3 to `(find-lexical-intro)'.
branch: externals/eev commit 666476975ed6db1a7341995f1f57087af3c9f634 Author: Eduardo Ochs Commit: Eduardo Ochs Added the sections 1, 2, and 3 to `(find-lexical-intro)'. --- VERSION | 4 +- eev-intro.el | 129 +++--- eev-tlinks.el | 8 ++-- 3 files changed, 93 insertions(+), 48 deletions(-) diff --git a/VERSION b/VERSION index 37b6ff7..ef91aca 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -Sat Aug 14 00:16:32 GMT 2021 -Fri Aug 13 21:16:32 -03 2021 +Sat Aug 14 02:49:07 GMT 2021 +Fri Aug 13 23:49:07 -03 2021 diff --git a/eev-intro.el b/eev-intro.el index 74e2e54..43a2c5b 100644 --- a/eev-intro.el +++ b/eev-intro.el @@ -13607,67 +13607,114 @@ modes to compare the results. +(The rest of this tutorial is just a first draft) -(The rest of this tutorial will be rewritten) - -0. `ee-eval-lexical' - - - -See: (find-eev \"eev-eval.el\" \"ee-eval-last-sexp\") - (find-eev \"eev-eval.el\" \"ee-eval-last-sexp\" \"11:\") - (find-eev \"eev-eval.el\" \"tools\") - (find-eev \"eev-eval.el\" \"tools\" \"ee-eval-lexical\") - (find-efunctiondescr 'eval) - -Try to evaluate this sexp with `M-e' and with `M-1 M-1 M-e': +1. `lambda' and `function' +== +See: (find-elnode \"Anonymous Functions\" \"Macro: lambda\") + (find-elnode \"Anonymous Functions\" \"Special Form: function\") + (find-elnode \"Anonymous Functions\" \"Special Form: function\" \"converted\") (let ((x 42)) -(defun foo () (* x x)) -(symbol-function 'foo)) +(lambda () x) +) + (let ((x 42)) +(function + (lambda () x) + ) +) -1. Creating closures +2. How closures work -Long form: - - (eval '(let ((x 42)) (defun foo () (* x x))) 'lexical) - (eval '(let ((x 42)) (defun foo () (* x x))) nil) - (symbol-function 'foo) +See: (find-elnode \"Dynamic Binding\" \"defun getx\") + (find-elnode \"Lexical Binding\" \"defun getx\") + (find-elnode \"Void Variables\") -Short form: + (let ((x 20)) +(defun getx () x) +) - (let ((x 42)) -(defun foo () (* x x)) -(symbol-function 'foo)) + (makunbound 'x) + (setq x 99) + (getx) + (let ((x 42)) (getx)) + -Even shorter: - (let ((x 42)) -(function (lambda foo () (* x x +3. `get/set' + +;; These fsets work as defuns. +;; See: (find-elnode \"Function Cells\") +(fset 'foo (lambda () 20)) +(fset 'foo (lambda () 42)) +(foo) +;; This is the only sexp in this block that needs +;; to be run in lexical binding mode. +;; +(defun get/set0 () + \"Return a list with a `getter' closure and a `setter' closure. +The getter and the setter share the same lexical environment - +which means that they operate on the same `x'. +Different calls to this function generate getters and setters +with independent lexical environments - which means that they +operate on independent `x's. +This defun need to be executed in lexical binding mode.\" + (let* ((x nil)) +(list (lambda () x) + (lambda (newvalue) (setq x newvalue) + +(defun get/set (getter setter) + \"Define a SETTER and a GETTER that operate on the same variable. +SETTER and GETTER are symbols: names of functions. The variable +lives in a lexical environment that is shared by both the GETTER +and the SETTER. Each call to this function generates a different +lexical environment.\" + (let ((gs (get/set0))) +(fset getter (nth 0 gs)) +(fset setter (nth 1 gs + +;; Check that geta/seta and getb/setb operate on different +;; variables: +;; +(get/set 'geta 'seta) +(get/set 'getb 'setb) +(symbol-function 'geta) +(symbol-function 'getb) +(symbol-function 'seta) +(symbol-function 'setb) +(seta 20) +(setb 42) +(geta) +(getb) + + +;; Check that geta/seta use the same lexical environment +;; and that getb/setb use a second lexical environment. +;; See: (find-elnode \"Closures\") + + (symbol-function 'seta) + (cdr (symbol-function 'seta)) +(car (cdr (symbol-function 'seta))) + +(eq + (cadr (symbol-function 'geta)) + (cadr (symbol-function 'seta)) + ) -2. `letxgetx' -= -See: (find-elnode \"Dynamic Binding\" \"defun getx\") - (find-elnode \"Lexical Binding\" \"defun getx\") - (find-elnode \"Void Variables\") +(eq + (cadr (symbol-function 'getb)) + (cadr (symbol-function 'setb)) + ) - (makunbound 'x) - (defun getx () x) -
[nongnu] elpa/markdown-mode ab0b5e9 2/2: Merge pull request #642 from jrblevin/issue-641
branch: elpa/markdown-mode commit ab0b5e92a264cfc1fbbb69cd94ef9da83db31d0a Merge: 536061e 12e67d3 Author: Shohei YOSHIDA Commit: GitHub Merge pull request #642 from jrblevin/issue-641 Fix executing markdown-table-sort-lines via menu bar issue --- CHANGES.md | 2 ++ markdown-mode.el | 8 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 135777f..7b9a1a0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -70,6 +70,7 @@ - Fix list highlighting issue in code block [GH-631][] - Fix exception when inserting code block at end of buffer [GH-634][] - Fix table operations when table column contains escaped vertical bars [GH-635][] +- Fix issue that executing `markdown-table-sort-lines` via menu-bar with older Emacs(< 28) [GH-641][] [gh-290]: https://github.com/jrblevin/markdown-mode/issues/290 [gh-311]: https://github.com/jrblevin/markdown-mode/issues/311 @@ -101,6 +102,7 @@ [gh-631]: https://github.com/jrblevin/markdown-mode/issues/631 [gh-634]: https://github.com/jrblevin/markdown-mode/issues/634 [gh-635]: https://github.com/jrblevin/markdown-mode/issues/635 + [gh-641]: https://github.com/jrblevin/markdown-mode/issues/641 # Markdown Mode 2.4 diff --git a/markdown-mode.el b/markdown-mode.el index b42760e..801f35a 100644 --- a/markdown-mode.el +++ b/markdown-mode.el @@ -9446,8 +9446,12 @@ indicate that sorting should be done in reverse order." (t 1 (sorting-type (or sorting-type - (read-char-exclusive - "Sort type: [a]lpha [n]umeric (A/N means reversed): " + (progn + ;; workaround #641 + ;; Emacs < 28 hides prompt message by another message. This erases it. + (message "") + (read-char-exclusive +"Sort type: [a]lpha [n]umeric (A/N means reversed): ") (save-restriction ;; Narrow buffer to appropriate sorting area (if (region-active-p)
[nongnu] elpa/markdown-mode 12e67d3 1/2: Fix executing markdown-table-sort-lines via menu bar issue
branch: elpa/markdown-mode commit 12e67d3d8a8e9eaa73bd5edf38496b5db4fd35bb Author: Shohei YOSHIDA Commit: Shohei YOSHIDA Fix executing markdown-table-sort-lines via menu bar issue This issue is fixed in latest emacs. --- CHANGES.md | 2 ++ markdown-mode.el | 8 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 135777f..7b9a1a0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -70,6 +70,7 @@ - Fix list highlighting issue in code block [GH-631][] - Fix exception when inserting code block at end of buffer [GH-634][] - Fix table operations when table column contains escaped vertical bars [GH-635][] +- Fix issue that executing `markdown-table-sort-lines` via menu-bar with older Emacs(< 28) [GH-641][] [gh-290]: https://github.com/jrblevin/markdown-mode/issues/290 [gh-311]: https://github.com/jrblevin/markdown-mode/issues/311 @@ -101,6 +102,7 @@ [gh-631]: https://github.com/jrblevin/markdown-mode/issues/631 [gh-634]: https://github.com/jrblevin/markdown-mode/issues/634 [gh-635]: https://github.com/jrblevin/markdown-mode/issues/635 + [gh-641]: https://github.com/jrblevin/markdown-mode/issues/641 # Markdown Mode 2.4 diff --git a/markdown-mode.el b/markdown-mode.el index b42760e..801f35a 100644 --- a/markdown-mode.el +++ b/markdown-mode.el @@ -9446,8 +9446,12 @@ indicate that sorting should be done in reverse order." (t 1 (sorting-type (or sorting-type - (read-char-exclusive - "Sort type: [a]lpha [n]umeric (A/N means reversed): " + (progn + ;; workaround #641 + ;; Emacs < 28 hides prompt message by another message. This erases it. + (message "") + (read-char-exclusive +"Sort type: [a]lpha [n]umeric (A/N means reversed): ") (save-restriction ;; Narrow buffer to appropriate sorting area (if (region-active-p)
[nongnu] elpa/markdown-mode f8c14af 2/2: Merge pull request #643 from jrblevin/issue-639
branch: elpa/markdown-mode commit f8c14afe85a4cb958cb84b7598a814ece96656f1 Merge: ab0b5e9 9170b37 Author: Shohei YOSHIDA Commit: GitHub Merge pull request #643 from jrblevin/issue-639 Fix wrong menu command setting issue --- CHANGES.md | 2 ++ markdown-mode.el | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 7b9a1a0..73de87b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -71,6 +71,7 @@ - Fix exception when inserting code block at end of buffer [GH-634][] - Fix table operations when table column contains escaped vertical bars [GH-635][] - Fix issue that executing `markdown-table-sort-lines` via menu-bar with older Emacs(< 28) [GH-641][] +- Fix wrong markdown table command issue in menu [GH-639][] [gh-290]: https://github.com/jrblevin/markdown-mode/issues/290 [gh-311]: https://github.com/jrblevin/markdown-mode/issues/311 @@ -102,6 +103,7 @@ [gh-631]: https://github.com/jrblevin/markdown-mode/issues/631 [gh-634]: https://github.com/jrblevin/markdown-mode/issues/634 [gh-635]: https://github.com/jrblevin/markdown-mode/issues/635 + [gh-639]: https://github.com/jrblevin/markdown-mode/issues/639 [gh-641]: https://github.com/jrblevin/markdown-mode/issues/641 # Markdown Mode 2.4 diff --git a/markdown-mode.el b/markdown-mode.el index 801f35a..4e73fb2 100644 --- a/markdown-mode.el +++ b/markdown-mode.el @@ -5542,10 +5542,10 @@ See also `markdown-mode-map'.") ["Move Row Down" markdown-move-down :enable (markdown-table-at-point-p) :keys "C-c "] - ["Move Column Left" markdown-demote + ["Move Column Left" markdown-promote :enable (markdown-table-at-point-p) :keys "C-c "] - ["Move Column Right" markdown-promote + ["Move Column Right" markdown-demote :enable (markdown-table-at-point-p) :keys "C-c "] ["Delete Row" markdown-table-delete-row
[nongnu] elpa/markdown-mode 9170b37 1/2: Fix wrong menu command setting issue
branch: elpa/markdown-mode commit 9170b37536d1e84e427a818329da7ec5d7d554c3 Author: Shohei YOSHIDA Commit: Shohei YOSHIDA Fix wrong menu command setting issue --- CHANGES.md | 2 ++ markdown-mode.el | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 7b9a1a0..73de87b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -71,6 +71,7 @@ - Fix exception when inserting code block at end of buffer [GH-634][] - Fix table operations when table column contains escaped vertical bars [GH-635][] - Fix issue that executing `markdown-table-sort-lines` via menu-bar with older Emacs(< 28) [GH-641][] +- Fix wrong markdown table command issue in menu [GH-639][] [gh-290]: https://github.com/jrblevin/markdown-mode/issues/290 [gh-311]: https://github.com/jrblevin/markdown-mode/issues/311 @@ -102,6 +103,7 @@ [gh-631]: https://github.com/jrblevin/markdown-mode/issues/631 [gh-634]: https://github.com/jrblevin/markdown-mode/issues/634 [gh-635]: https://github.com/jrblevin/markdown-mode/issues/635 + [gh-639]: https://github.com/jrblevin/markdown-mode/issues/639 [gh-641]: https://github.com/jrblevin/markdown-mode/issues/641 # Markdown Mode 2.4 diff --git a/markdown-mode.el b/markdown-mode.el index 801f35a..4e73fb2 100644 --- a/markdown-mode.el +++ b/markdown-mode.el @@ -5542,10 +5542,10 @@ See also `markdown-mode-map'.") ["Move Row Down" markdown-move-down :enable (markdown-table-at-point-p) :keys "C-c "] - ["Move Column Left" markdown-demote + ["Move Column Left" markdown-promote :enable (markdown-table-at-point-p) :keys "C-c "] - ["Move Column Right" markdown-promote + ["Move Column Right" markdown-demote :enable (markdown-table-at-point-p) :keys "C-c "] ["Delete Row" markdown-table-delete-row
[nongnu] elpa/markdown-mode c1e9822 1/2: Fix table conversion issue
branch: elpa/markdown-mode commit c1e98229989426ef4248bb0aaf69122ce02bb67b Author: Shohei YOSHIDA Commit: Shohei YOSHIDA Fix table conversion issue --- CHANGES.md | 2 ++ markdown-mode.el | 12 ++-- tests/markdown-test.el | 15 +++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 73de87b..e2aacf1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -72,6 +72,7 @@ - Fix table operations when table column contains escaped vertical bars [GH-635][] - Fix issue that executing `markdown-table-sort-lines` via menu-bar with older Emacs(< 28) [GH-641][] - Fix wrong markdown table command issue in menu [GH-639][] +- Fix table conversion issue [GH-639][] [gh-290]: https://github.com/jrblevin/markdown-mode/issues/290 [gh-311]: https://github.com/jrblevin/markdown-mode/issues/311 @@ -104,6 +105,7 @@ [gh-634]: https://github.com/jrblevin/markdown-mode/issues/634 [gh-635]: https://github.com/jrblevin/markdown-mode/issues/635 [gh-639]: https://github.com/jrblevin/markdown-mode/issues/639 + [gh-640]: https://github.com/jrblevin/markdown-mode/issues/640 [gh-641]: https://github.com/jrblevin/markdown-mode/issues/641 # Markdown Mode 2.4 diff --git a/markdown-mode.el b/markdown-mode.el index 4e73fb2..2efbfd1 100644 --- a/markdown-mode.el +++ b/markdown-mode.el @@ -9552,10 +9552,18 @@ spaces, or alternatively a TAB should be used as the separator." ((integerp separator) (if (< separator 1) (user-error "Cell separator must contain one or more spaces") -(format "^ *\\| *\t *\\| \\{%d,\\}" separator))) +(format "^ *\\| *\t *\\| \\{%d,\\}\\|$" separator))) ((stringp separator) (format "^ *\\|%s" separator)) (t (error "Invalid cell separator" - (while (re-search-forward re end t) (replace-match "| " t t))) + (let (finish) +(while (and (not finish) (re-search-forward re end t)) + (if (eolp) + (progn +(replace-match "|" t t) +(forward-line 1) +(when (eobp) + (setq finish t))) +(replace-match "| " t t) (goto-char begin) (when markdown-table-align-p (markdown-table-align diff --git a/tests/markdown-test.el b/tests/markdown-test.el index c066b14..ff1ed54 100644 --- a/tests/markdown-test.el +++ b/tests/markdown-test.el @@ -7028,6 +7028,21 @@ title: asdasdasd (markdown-table-forward-cell) (should (string= (buffer-string) expected)) +(ert-deftest test-markdown-table/convert-table-region () + "Test markdown-table-convert-region. +https://github.com/jrblevin/markdown-mode/issues/640"; + (let ((markdown-table-align-p t)) +(markdown-test-string "1 2 3 +4 5 6" + (markdown-table-convert-region (point-min) (point-max)) + (should (string= (buffer-substring-no-properties (point-min) (point-max)) + "| 1 | 2 | 3 | +| 4 | 5 | 6 |\n"))) +(markdown-test-string "1 2 3 \n4 5 6 " + (markdown-table-convert-region (point-min) (point-max)) + (should (string= (buffer-substring-no-properties (point-min) (point-max)) + "| 1 | 2 | 3 |\n| 4 | 5 | 6 |\n") + (provide 'markdown-test) ;;; markdown-test.el ends here
[nongnu] elpa/markdown-mode 562cd35 2/2: Merge pull request #644 from jrblevin/issue-640
branch: elpa/markdown-mode commit 562cd35a2eb7b638272940bd8b8fac754a32a34c Merge: f8c14af c1e9822 Author: Shohei YOSHIDA Commit: GitHub Merge pull request #644 from jrblevin/issue-640 Fix table conversion issue --- CHANGES.md | 2 ++ markdown-mode.el | 12 ++-- tests/markdown-test.el | 15 +++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 73de87b..e2aacf1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -72,6 +72,7 @@ - Fix table operations when table column contains escaped vertical bars [GH-635][] - Fix issue that executing `markdown-table-sort-lines` via menu-bar with older Emacs(< 28) [GH-641][] - Fix wrong markdown table command issue in menu [GH-639][] +- Fix table conversion issue [GH-639][] [gh-290]: https://github.com/jrblevin/markdown-mode/issues/290 [gh-311]: https://github.com/jrblevin/markdown-mode/issues/311 @@ -104,6 +105,7 @@ [gh-634]: https://github.com/jrblevin/markdown-mode/issues/634 [gh-635]: https://github.com/jrblevin/markdown-mode/issues/635 [gh-639]: https://github.com/jrblevin/markdown-mode/issues/639 + [gh-640]: https://github.com/jrblevin/markdown-mode/issues/640 [gh-641]: https://github.com/jrblevin/markdown-mode/issues/641 # Markdown Mode 2.4 diff --git a/markdown-mode.el b/markdown-mode.el index 4e73fb2..2efbfd1 100644 --- a/markdown-mode.el +++ b/markdown-mode.el @@ -9552,10 +9552,18 @@ spaces, or alternatively a TAB should be used as the separator." ((integerp separator) (if (< separator 1) (user-error "Cell separator must contain one or more spaces") -(format "^ *\\| *\t *\\| \\{%d,\\}" separator))) +(format "^ *\\| *\t *\\| \\{%d,\\}\\|$" separator))) ((stringp separator) (format "^ *\\|%s" separator)) (t (error "Invalid cell separator" - (while (re-search-forward re end t) (replace-match "| " t t))) + (let (finish) +(while (and (not finish) (re-search-forward re end t)) + (if (eolp) + (progn +(replace-match "|" t t) +(forward-line 1) +(when (eobp) + (setq finish t))) +(replace-match "| " t t) (goto-char begin) (when markdown-table-align-p (markdown-table-align diff --git a/tests/markdown-test.el b/tests/markdown-test.el index c066b14..ff1ed54 100644 --- a/tests/markdown-test.el +++ b/tests/markdown-test.el @@ -7028,6 +7028,21 @@ title: asdasdasd (markdown-table-forward-cell) (should (string= (buffer-string) expected)) +(ert-deftest test-markdown-table/convert-table-region () + "Test markdown-table-convert-region. +https://github.com/jrblevin/markdown-mode/issues/640"; + (let ((markdown-table-align-p t)) +(markdown-test-string "1 2 3 +4 5 6" + (markdown-table-convert-region (point-min) (point-max)) + (should (string= (buffer-substring-no-properties (point-min) (point-max)) + "| 1 | 2 | 3 | +| 4 | 5 | 6 |\n"))) +(markdown-test-string "1 2 3 \n4 5 6 " + (markdown-table-convert-region (point-min) (point-max)) + (should (string= (buffer-substring-no-properties (point-min) (point-max)) + "| 1 | 2 | 3 |\n| 4 | 5 | 6 |\n") + (provide 'markdown-test) ;;; markdown-test.el ends here