*** simple.1.621.el Sat Oct 11 12:26:50 2003 --- simple.1.621.acm.el Thu Oct 23 20:26:20 2003 *************** *** 1657,1662 **** --- 1657,1682 ---- `universal-argument-other-key' uses this to discard those events from (this-command-keys), and reread only the final command.") + (defvar overriding-map-is-bound nil + "Non-nil when `overriding-terminal-local-map' is `universal-argument-map'.") + + (defvar saved-overriding-map nil + "The saved value of `overriding-terminal-local-map'. + That variable gets restored to this value on exiting \"universal + argument mode\".") + + (defun ensure-overriding-map-is-bound () + "Check `overriding-terminal-local-map' is `universal-argument-map'." + (unless overriding-map-is-bound + (setq saved-overriding-map overriding-terminal-local-map) + (setq overriding-terminal-local-map universal-argument-map) + (setq overriding-map-is-bound t))) + + (defun restore-overriding-map () + "Restore `overriding-terminal-local-map' to its saved value." + (setq overriding-terminal-local-map saved-overriding-map) + (setq overriding-map-is-bound nil)) + (defun universal-argument () "Begin a numeric argument for the following command. Digits or minus sign following \\[universal-argument] make up the numeric argument. *************** *** 1670,1676 **** (interactive) (setq prefix-arg (list 4)) (setq universal-argument-num-events (length (this-command-keys))) ! (setq overriding-terminal-local-map universal-argument-map)) ;; A subsequent C-u means to multiply the factor by 4 if we've typed ;; nothing but C-u's; otherwise it means to terminate the prefix arg. --- 1690,1697 ---- (interactive) (setq prefix-arg (list 4)) (setq universal-argument-num-events (length (this-command-keys))) ! (ensure-overriding-map-is-bound)) ! (put 'universal-argument 'isearch-scroll t) ;; A subsequent C-u means to multiply the factor by 4 if we've typed ;; nothing but C-u's; otherwise it means to terminate the prefix arg. *************** *** 1681,1687 **** (if (eq arg '-) (setq prefix-arg (list -4)) (setq prefix-arg arg) ! (setq overriding-terminal-local-map nil))) (setq universal-argument-num-events (length (this-command-keys)))) (defun negative-argument (arg) --- 1702,1708 ---- (if (eq arg '-) (setq prefix-arg (list -4)) (setq prefix-arg arg) ! (restore-overriding-map))) (setq universal-argument-num-events (length (this-command-keys)))) (defun negative-argument (arg) *************** *** 1695,1701 **** (t (setq prefix-arg '-))) (setq universal-argument-num-events (length (this-command-keys))) ! (setq overriding-terminal-local-map universal-argument-map)) (defun digit-argument (arg) "Part of the numeric argument for the next command. --- 1716,1723 ---- (t (setq prefix-arg '-))) (setq universal-argument-num-events (length (this-command-keys))) ! (ensure-overriding-map-is-bound)) ! (put 'negative-argument 'isearch-scroll t) (defun digit-argument (arg) "Part of the numeric argument for the next command. *************** *** 1714,1720 **** (t (setq prefix-arg digit)))) (setq universal-argument-num-events (length (this-command-keys))) ! (setq overriding-terminal-local-map universal-argument-map)) ;; For backward compatibility, minus with no modifiers is an ordinary ;; command if digits have already been entered. --- 1736,1743 ---- (t (setq prefix-arg digit)))) (setq universal-argument-num-events (length (this-command-keys))) ! (ensure-overriding-map-is-bound)) ! (put 'digit-argument 'isearch-scroll t) ;; For backward compatibility, minus with no modifiers is an ordinary ;; command if digits have already been entered. *************** *** 1735,1741 **** (append (nthcdr universal-argument-num-events keylist) unread-command-events))) (reset-this-command-lengths) ! (setq overriding-terminal-local-map nil)) ;;;; Window system cut and paste hooks. --- 1758,1764 ---- (append (nthcdr universal-argument-num-events keylist) unread-command-events))) (reset-this-command-lengths) ! (restore-overriding-map)) ;;;; Window system cut and paste hooks. *************** *** 3348,3354 **** (setq arg (current-column))) (if (not (integerp arg)) ;; Disallow missing argument; it's probably a typo for C-x C-f. ! (error "set-fill-column requires an explicit argument") (message "Fill column set to %d (was %d)" arg fill-column) (setq fill-column arg))) --- 3371,3377 ---- (setq arg (current-column))) (if (not (integerp arg)) ;; Disallow missing argument; it's probably a typo for C-x C-f. ! (error "Set-fill-column requires an explicit argument") (message "Fill column set to %d (was %d)" arg fill-column) (setq fill-column arg)))