diff options
| author | Tino Calancha | 2018-08-13 19:24:31 +0900 |
|---|---|---|
| committer | Tino Calancha | 2018-08-13 19:24:31 +0900 |
| commit | e73e6838aa595e5a3d217480c96b1d04d3d1cb16 (patch) | |
| tree | 70ef7f61617fb4bea83eda94f77c7db3bd57f797 | |
| parent | 12f7116714cf0cc3566ea2a5b1184c99cbfe7b90 (diff) | |
| download | emacs-e73e6838aa595e5a3d217480c96b1d04d3d1cb16.tar.gz emacs-e73e6838aa595e5a3d217480c96b1d04d3d1cb16.zip | |
Ibuffer: Add toggle ibuffer-do-toggle-lock
Toggle the locked status in marked buffers or the buffer
at point (Bug#32421).
* lisp/ibuffer.el (ibuffer-do-toggle-lock): New command.
(ibuffer-mode-map): Bind it to 'L'.
(ibuffer-mode-operate-map): Add entries for
`ibuffer-do-toggle-read-only' and `ibuffer-do-toggle-lock'.
* etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.2):
Announce the change.
| -rw-r--r-- | etc/NEWS | 5 | ||||
| -rw-r--r-- | lisp/ibuffer.el | 16 |
2 files changed, 21 insertions, 0 deletions
| @@ -45,6 +45,11 @@ often cause crashes. Set it to nil if you really need those fonts. | |||
| 45 | 45 | ||
| 46 | * Changes in Specialized Modes and Packages in Emacs 26.2 | 46 | * Changes in Specialized Modes and Packages in Emacs 26.2 |
| 47 | 47 | ||
| 48 | ** Ibuffer | ||
| 49 | |||
| 50 | --- | ||
| 51 | *** New toggle 'ibuffer-do-toggle-lock', bound to 'L'. | ||
| 52 | |||
| 48 | ** Gnus | 53 | ** Gnus |
| 49 | 54 | ||
| 50 | --- | 55 | --- |
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index 03018d08a58..08b0801cb51 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el | |||
| @@ -590,6 +590,7 @@ directory, like `default-directory'." | |||
| 590 | (define-key map (kbd "R") 'ibuffer-do-rename-uniquely) | 590 | (define-key map (kbd "R") 'ibuffer-do-rename-uniquely) |
| 591 | (define-key map (kbd "S") 'ibuffer-do-save) | 591 | (define-key map (kbd "S") 'ibuffer-do-save) |
| 592 | (define-key map (kbd "T") 'ibuffer-do-toggle-read-only) | 592 | (define-key map (kbd "T") 'ibuffer-do-toggle-read-only) |
| 593 | (define-key map (kbd "L") 'ibuffer-do-toggle-lock) | ||
| 593 | (define-key map (kbd "r") 'ibuffer-do-replace-regexp) | 594 | (define-key map (kbd "r") 'ibuffer-do-replace-regexp) |
| 594 | (define-key map (kbd "V") 'ibuffer-do-revert) | 595 | (define-key map (kbd "V") 'ibuffer-do-revert) |
| 595 | (define-key map (kbd "W") 'ibuffer-do-view-and-eval) | 596 | (define-key map (kbd "W") 'ibuffer-do-view-and-eval) |
| @@ -862,6 +863,10 @@ directory, like `default-directory'." | |||
| 862 | '(menu-item "Print" ibuffer-do-print)) | 863 | '(menu-item "Print" ibuffer-do-print)) |
| 863 | (define-key-after operate-map [do-toggle-modified] | 864 | (define-key-after operate-map [do-toggle-modified] |
| 864 | '(menu-item "Toggle modification flag" ibuffer-do-toggle-modified)) | 865 | '(menu-item "Toggle modification flag" ibuffer-do-toggle-modified)) |
| 866 | (define-key-after operate-map [do-toggle-read-only] | ||
| 867 | '(menu-item "Toggle read-only flag" ibuffer-do-toggle-read-only)) | ||
| 868 | (define-key-after operate-map [do-toggle-lock] | ||
| 869 | '(menu-item "Toggle lock flag" ibuffer-do-toggle-lock)) | ||
| 865 | (define-key-after operate-map [do-revert] | 870 | (define-key-after operate-map [do-revert] |
| 866 | '(menu-item "Revert" ibuffer-do-revert | 871 | '(menu-item "Revert" ibuffer-do-revert |
| 867 | :help "Revert marked buffers to their associated file")) | 872 | :help "Revert marked buffers to their associated file")) |
| @@ -1361,6 +1366,16 @@ Otherwise, toggle read only status." | |||
| 1361 | :modifier-p t) | 1366 | :modifier-p t) |
| 1362 | (read-only-mode (if (integerp arg) arg 'toggle))) | 1367 | (read-only-mode (if (integerp arg) arg 'toggle))) |
| 1363 | 1368 | ||
| 1369 | (define-ibuffer-op ibuffer-do-toggle-lock (&optional arg) | ||
| 1370 | "Toggle locked status in marked buffers. | ||
| 1371 | If optional ARG is a non-negative integer, lock buffers. | ||
| 1372 | If ARG is a negative integer or 0, unlock buffers. | ||
| 1373 | Otherwise, toggle lock status." | ||
| 1374 | (:opstring "toggled lock status in" | ||
| 1375 | :interactive "P" | ||
| 1376 | :modifier-p t) | ||
| 1377 | (emacs-lock-mode (if (integerp arg) arg 'toggle))) | ||
| 1378 | |||
| 1364 | (define-ibuffer-op ibuffer-do-delete () | 1379 | (define-ibuffer-op ibuffer-do-delete () |
| 1365 | "Kill marked buffers as with `kill-this-buffer'." | 1380 | "Kill marked buffers as with `kill-this-buffer'." |
| 1366 | (:opstring "killed" | 1381 | (:opstring "killed" |
| @@ -2513,6 +2528,7 @@ Operations on marked buffers: | |||
| 2513 | `\\[ibuffer-do-view-other-frame]' - View the marked buffers in another frame. | 2528 | `\\[ibuffer-do-view-other-frame]' - View the marked buffers in another frame. |
| 2514 | `\\[ibuffer-do-revert]' - Revert the marked buffers. | 2529 | `\\[ibuffer-do-revert]' - Revert the marked buffers. |
| 2515 | `\\[ibuffer-do-toggle-read-only]' - Toggle read-only state of marked buffers. | 2530 | `\\[ibuffer-do-toggle-read-only]' - Toggle read-only state of marked buffers. |
| 2531 | `\\[ibuffer-do-toggle-lock]' - Toggle lock state of marked buffers. | ||
| 2516 | `\\[ibuffer-do-delete]' - Kill the marked buffers. | 2532 | `\\[ibuffer-do-delete]' - Kill the marked buffers. |
| 2517 | `\\[ibuffer-do-isearch]' - Do incremental search in the marked buffers. | 2533 | `\\[ibuffer-do-isearch]' - Do incremental search in the marked buffers. |
| 2518 | `\\[ibuffer-do-isearch-regexp]' - Isearch for regexp in the marked buffers. | 2534 | `\\[ibuffer-do-isearch-regexp]' - Isearch for regexp in the marked buffers. |