Mercurial > emacs
comparison lisp/emulation/vip.el @ 91085:880960b70474
Merge from emacs--devo--0
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-283
author | Miles Bader <miles@gnu.org> |
---|---|
date | Sun, 11 Nov 2007 00:56:44 +0000 |
parents | f55f9811f5d7 13163bbed0bf |
children | 606f2d163a64 |
comparison
equal
deleted
inserted
replaced
91084:a4347a111894 | 91085:880960b70474 |
---|---|
872 (progn (goto-char beg) (set-mark end)) | 872 (progn (goto-char beg) (set-mark end)) |
873 (goto-char end) | 873 (goto-char end) |
874 (set-mark beg)) | 874 (set-mark beg)) |
875 (beginning-of-line) | 875 (beginning-of-line) |
876 (exchange-point-and-mark) | 876 (exchange-point-and-mark) |
877 (if (or (not (eobp)) (not (bolp))) (next-line 1)) | 877 (if (or (not (eobp)) (not (bolp))) (with-no-warnings (next-line 1))) |
878 (beginning-of-line) | 878 (beginning-of-line) |
879 (if (> beg end) (exchange-point-and-mark))) | 879 (if (> beg end) (exchange-point-and-mark))) |
880 | 880 |
881 (defun vip-global-execute () | 881 (defun vip-global-execute () |
882 "Call last keyboad macro for each line in the region." | 882 "Call last keyboad macro for each line in the region." |
1048 ;; line command | 1048 ;; line command |
1049 | 1049 |
1050 (defun vip-line (arg) | 1050 (defun vip-line (arg) |
1051 (let ((val (car arg)) (com (cdr arg))) | 1051 (let ((val (car arg)) (com (cdr arg))) |
1052 (move-marker vip-com-point (point)) | 1052 (move-marker vip-com-point (point)) |
1053 (next-line (1- val)) | 1053 (with-no-warnings (next-line (1- val))) |
1054 (vip-execute-com 'vip-line val com))) | 1054 (vip-execute-com 'vip-line val com))) |
1055 | 1055 |
1056 (defun vip-yank-line (arg) | 1056 (defun vip-yank-line (arg) |
1057 "Yank ARG lines (in vi's sense)" | 1057 "Yank ARG lines (in vi's sense)" |
1058 (interactive "P") | 1058 (interactive "P") |
1261 (defun vip-next-line-at-bol (arg) | 1261 (defun vip-next-line-at-bol (arg) |
1262 "Next line at beginning of line." | 1262 "Next line at beginning of line." |
1263 (interactive "P") | 1263 (interactive "P") |
1264 (let ((val (vip-p-val arg)) (com (vip-getCom arg))) | 1264 (let ((val (vip-p-val arg)) (com (vip-getCom arg))) |
1265 (if com (move-marker vip-com-point (point))) | 1265 (if com (move-marker vip-com-point (point))) |
1266 (next-line val) | 1266 (with-no-warnings (next-line val)) |
1267 (back-to-indentation) | 1267 (back-to-indentation) |
1268 (if com (vip-execute-com 'vip-next-line-at-bol val com)))) | 1268 (if com (vip-execute-com 'vip-next-line-at-bol val com)))) |
1269 | 1269 |
1270 (defun vip-previous-line (arg) | 1270 (defun vip-previous-line (arg) |
1271 "Go to previous line." | 1271 "Go to previous line." |
1272 (interactive "P") | 1272 (interactive "P") |
1273 (let ((val (vip-p-val arg)) (com (vip-getCom arg))) | 1273 (let ((val (vip-p-val arg)) (com (vip-getCom arg))) |
1274 (if com (move-marker vip-com-point (point))) | 1274 (if com (move-marker vip-com-point (point))) |
1275 (next-line (- val)) | 1275 (with-no-warnings (next-line (- val))) |
1276 (setq this-command 'previous-line) | 1276 (setq this-command 'previous-line) |
1277 (if com (vip-execute-com 'vip-previous-line val com)))) | 1277 (if com (vip-execute-com 'vip-previous-line val com)))) |
1278 | 1278 |
1279 (defun vip-previous-line-at-bol (arg) | 1279 (defun vip-previous-line-at-bol (arg) |
1280 "Previous line at beginning of line." | 1280 "Previous line at beginning of line." |
1281 (interactive "P") | 1281 (interactive "P") |
1282 (let ((val (vip-p-val arg)) (com (vip-getCom arg))) | 1282 (let ((val (vip-p-val arg)) (com (vip-getCom arg))) |
1283 (if com (move-marker vip-com-point (point))) | 1283 (if com (move-marker vip-com-point (point))) |
1284 (next-line (- val)) | 1284 (with-no-warnings (next-line (- val))) |
1285 (back-to-indentation) | 1285 (back-to-indentation) |
1286 (if com (vip-execute-com 'vip-previous-line val com)))) | 1286 (if com (vip-execute-com 'vip-previous-line val com)))) |
1287 | 1287 |
1288 (defun vip-change-to-eol (arg) | 1288 (defun vip-change-to-eol (arg) |
1289 "Change to end of line." | 1289 "Change to end of line." |
1321 (if (> arg 0) | 1321 (if (> arg 0) |
1322 (narrow-to-region | 1322 (narrow-to-region |
1323 ;; forward search begins here | 1323 ;; forward search begins here |
1324 (if (eolp) (error "") (point)) | 1324 (if (eolp) (error "") (point)) |
1325 ;; forward search ends here | 1325 ;; forward search ends here |
1326 (progn (next-line 1) (beginning-of-line) (point))) | 1326 (progn (with-no-warnings (next-line 1)) (beginning-of-line) (point))) |
1327 (narrow-to-region | 1327 (narrow-to-region |
1328 ;; backward search begins from here | 1328 ;; backward search begins from here |
1329 (if (bolp) (error "") (point)) | 1329 (if (bolp) (error "") (point)) |
1330 ;; backward search ends here | 1330 ;; backward search ends here |
1331 (progn (beginning-of-line) (point)))) | 1331 (progn (beginning-of-line) (point)))) |
1801 (error "Nothing in register %c" reg)) | 1801 (error "Nothing in register %c" reg)) |
1802 (error ""))) | 1802 (error ""))) |
1803 (setq vip-use-register nil) | 1803 (setq vip-use-register nil) |
1804 (if (vip-end-with-a-newline-p text) | 1804 (if (vip-end-with-a-newline-p text) |
1805 (progn | 1805 (progn |
1806 (next-line 1) | 1806 (with-no-warnings (next-line 1)) |
1807 (beginning-of-line)) | 1807 (beginning-of-line)) |
1808 (if (and (not (eolp)) (not (eobp))) (forward-char))) | 1808 (if (and (not (eolp)) (not (eobp))) (forward-char))) |
1809 (setq vip-d-com (list 'vip-put-back val nil vip-use-register)) | 1809 (setq vip-d-com (list 'vip-put-back val nil vip-use-register)) |
1810 (vip-loop val (vip-yank text)))) | 1810 (vip-loop val (vip-yank text)))) |
1811 | 1811 |
2881 (defun ex-read () | 2881 (defun ex-read () |
2882 "ex read" | 2882 "ex read" |
2883 (let ((point (if (null ex-addresses) (point) (car ex-addresses))) | 2883 (let ((point (if (null ex-addresses) (point) (car ex-addresses))) |
2884 (variant nil) command file) | 2884 (variant nil) command file) |
2885 (goto-char point) | 2885 (goto-char point) |
2886 (if (not (= point 0)) (next-line 1)) | 2886 (if (not (= point 0)) (with-no-warnings (next-line 1))) |
2887 (beginning-of-line) | 2887 (beginning-of-line) |
2888 (save-window-excursion | 2888 (save-window-excursion |
2889 (set-buffer " *ex-working-space*") | 2889 (set-buffer " *ex-working-space*") |
2890 (skip-chars-forward " \t") | 2890 (skip-chars-forward " \t") |
2891 (if (looking-at "!") | 2891 (if (looking-at "!") |