mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 357-381) - Merge from gnus--rel--5.10 - Update from CVS - Merge from erc--emacs--21 * gnus--rel--5.10 (patch 116-122) - Update from CVS - Merge from emacs--devo--0 Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-98
This commit is contained in:
commit
e2b9706014
147 changed files with 3526 additions and 1923 deletions
41
lisp/subr.el
41
lisp/subr.el
|
|
@ -108,6 +108,9 @@ change the list."
|
|||
(declare (indent 1) (debug t))
|
||||
(cons 'if (cons cond (cons nil body))))
|
||||
|
||||
(defvar --dolist-tail-- nil
|
||||
"Temporary variable used in `dolist' expansion.")
|
||||
|
||||
(defmacro dolist (spec &rest body)
|
||||
"Loop over a list.
|
||||
Evaluate BODY with VAR bound to each car from LIST, in turn.
|
||||
|
|
@ -115,16 +118,22 @@ Then evaluate RESULT to get return value, default nil.
|
|||
|
||||
\(fn (VAR LIST [RESULT]) BODY...)"
|
||||
(declare (indent 1) (debug ((symbolp form &optional form) body)))
|
||||
(let ((temp (make-symbol "--dolist-temp--")))
|
||||
;; It would be cleaner to create an uninterned symbol,
|
||||
;; but that uses a lot more space when many functions in many files
|
||||
;; use dolist.
|
||||
(let ((temp '--dolist-tail--))
|
||||
`(let ((,temp ,(nth 1 spec))
|
||||
,(car spec))
|
||||
(while ,temp
|
||||
(setq ,(car spec) (car ,temp))
|
||||
(setq ,temp (cdr ,temp))
|
||||
,@body)
|
||||
,@body
|
||||
(setq ,temp (cdr ,temp)))
|
||||
,@(if (cdr (cdr spec))
|
||||
`((setq ,(car spec) nil) ,@(cdr (cdr spec)))))))
|
||||
|
||||
(defvar --dotimes-limit-- nil
|
||||
"Temporary variable used in `dotimes' expansion.")
|
||||
|
||||
(defmacro dotimes (spec &rest body)
|
||||
"Loop a certain number of times.
|
||||
Evaluate BODY with VAR bound to successive integers running from 0,
|
||||
|
|
@ -133,7 +142,10 @@ the return value (nil if RESULT is omitted).
|
|||
|
||||
\(fn (VAR COUNT [RESULT]) BODY...)"
|
||||
(declare (indent 1) (debug dolist))
|
||||
(let ((temp (make-symbol "--dotimes-temp--"))
|
||||
;; It would be cleaner to create an uninterned symbol,
|
||||
;; but that uses a lot more space when many functions in many files
|
||||
;; use dotimes.
|
||||
(let ((temp '--dotimes-limit--)
|
||||
(start 0)
|
||||
(end (nth 1 spec)))
|
||||
`(let ((,temp ,end)
|
||||
|
|
@ -1725,19 +1737,9 @@ floating point support.
|
|||
(progn (sleep-for seconds) t)
|
||||
(unless nodisp (redisplay))
|
||||
(or (<= seconds 0)
|
||||
(let ((timer (timer-create))
|
||||
(echo-keystrokes 0))
|
||||
(if (catch 'sit-for-timeout
|
||||
(timer-set-time timer (timer-relative-time
|
||||
(current-time) seconds))
|
||||
(timer-set-function timer 'with-timeout-handler
|
||||
'(sit-for-timeout))
|
||||
(timer-activate timer)
|
||||
(push (read-event) unread-command-events)
|
||||
nil)
|
||||
t
|
||||
(cancel-timer timer)
|
||||
nil)))))
|
||||
(let ((read (read-event nil nil seconds)))
|
||||
(or (null read)
|
||||
(progn (push read unread-command-events) nil))))))
|
||||
|
||||
;;; Atomic change groups.
|
||||
|
||||
|
|
@ -2531,8 +2533,9 @@ STRING should be given if the last search was by `string-match' on STRING."
|
|||
(defun looking-back (regexp &optional limit greedy)
|
||||
"Return non-nil if text before point matches regular expression REGEXP.
|
||||
Like `looking-at' except matches before point, and is slower.
|
||||
LIMIT if non-nil speeds up the search by specifying how far back the
|
||||
match can start.
|
||||
LIMIT if non-nil speeds up the search by specifying a minimum
|
||||
starting position, to avoid checking matches that would start
|
||||
before LIMIT.
|
||||
|
||||
If GREEDY is non-nil, extend the match backwards as far as possible,
|
||||
stopping when a single additional previous character cannot be part
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue