X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/56437999a08ec5d30951227d966119dd040129e0..9a200f68326362cb3795f67828584c7af1333f22:/lisp/simple.el diff --git a/lisp/simple.el b/lisp/simple.el index 4ad1422e08..85df419408 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -1398,6 +1398,17 @@ specifies the value of ERROR-BUFFER." (define-key map [?7] 'digit-argument) (define-key map [?8] 'digit-argument) (define-key map [?9] 'digit-argument) + (define-key map [kp-0] 'digit-argument) + (define-key map [kp-1] 'digit-argument) + (define-key map [kp-2] 'digit-argument) + (define-key map [kp-3] 'digit-argument) + (define-key map [kp-4] 'digit-argument) + (define-key map [kp-5] 'digit-argument) + (define-key map [kp-6] 'digit-argument) + (define-key map [kp-7] 'digit-argument) + (define-key map [kp-8] 'digit-argument) + (define-key map [kp-9] 'digit-argument) + (define-key map [kp-subtract] 'universal-argument-minus) map) "Keymap used while processing \\[universal-argument].") @@ -1450,7 +1461,10 @@ These commands include \\[set-mark-command] and \\[start-kbd-macro]." "Part of the numeric argument for the next command. \\[universal-argument] following digits or minus sign ends the argument." (interactive "P") - (let ((digit (- (logand last-command-char ?\177) ?0))) + (let* ((char (if (integerp last-command-char) + last-command-char + (get last-command-char 'ascii-character))) + (digit (- (logand char ?\177) ?0))) (cond ((integerp arg) (setq prefix-arg (+ (* arg 10) (if (< arg 0) (- digit) digit)))) @@ -2416,7 +2430,8 @@ Outline mode sets this." ;; with intangibility and point-motion hooks enabled this time. (goto-char opoint) (setq inhibit-point-motion-hooks nil) - (goto-char (constrain-to-field new opoint t t)) + (goto-char (constrain-to-field new opoint nil t + 'inhibit-line-move-field-capture)) ;; If intangibility processing moved us to a different line, ;; readjust the horizontal position within the line we ended up at. (when (or (< (point) line-beg) (> (point) line-end)) @@ -2431,7 +2446,8 @@ Outline mode sets this." (setq new (point))) (goto-char (point-min)) (setq inhibit-point-motion-hooks nil) - (goto-char (constrain-to-field new opoint t t)) + (goto-char (constrain-to-field new opoint nil t + 'inhibit-line-move-field-capture)) ))) nil)