diff options
author | Karoly Lorentey <lorentey@elte.hu> | 2004-05-11 09:12:09 +0000 |
---|---|---|
committer | Karoly Lorentey <lorentey@elte.hu> | 2004-05-11 09:12:09 +0000 |
commit | d9858e4f1889a61b216ae1f99053846362067ccc (patch) | |
tree | d0f18015bf1ebe06f489de11b74b4e4b5e98fdc3 /lisp/emacs-lisp/cl-macs.el | |
parent | ab4b17bed77ba635b5654accdfde3fbdf125f3e6 (diff) | |
parent | a57e8159253e6ddd74b0453de7c526a9895b9576 (diff) | |
download | emacs-d9858e4f1889a61b216ae1f99053846362067ccc.tar.gz emacs-d9858e4f1889a61b216ae1f99053846362067ccc.tar.bz2 emacs-d9858e4f1889a61b216ae1f99053846362067ccc.zip |
Merged in changes from CVS trunk.
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-291
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-292
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-293
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-294
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-295
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-296
Allow restarting an existing debugger session that's exited
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-297
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-298
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-162
Diffstat (limited to 'lisp/emacs-lisp/cl-macs.el')
-rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 6a6b006c2ba..286c7632ed8 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -164,21 +164,21 @@ ;;; Symbols. (defvar *gensym-counter*) -(defun gensym (&optional arg) +(defun gensym (&optional prefix) "Generate a new uninterned symbol. The name is made by appending a number to PREFIX, default \"G\"." - (let ((prefix (if (stringp arg) arg "G")) - (num (if (integerp arg) arg + (let ((pfix (if (stringp prefix) prefix "G")) + (num (if (integerp prefix) prefix (prog1 *gensym-counter* (setq *gensym-counter* (1+ *gensym-counter*)))))) - (make-symbol (format "%s%d" prefix num)))) + (make-symbol (format "%s%d" pfix num)))) -(defun gentemp (&optional arg) +(defun gentemp (&optional prefix) "Generate a new interned symbol with a unique name. The name is made by appending a number to PREFIX, default \"G\"." - (let ((prefix (if (stringp arg) arg "G")) + (let ((pfix (if (stringp prefix) prefix "G")) name) - (while (intern-soft (setq name (format "%s%d" prefix *gensym-counter*))) + (while (intern-soft (setq name (format "%s%d" pfix *gensym-counter*))) (setq *gensym-counter* (1+ *gensym-counter*))) (intern name))) @@ -1177,12 +1177,14 @@ Valid clauses are: (defmacro do (steps endtest &rest body) "The Common Lisp `do' loop. -Format is: (do ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)" + +\(fn ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)" (cl-expand-do-loop steps endtest body nil)) (defmacro do* (steps endtest &rest body) "The Common Lisp `do*' loop. -Format is: (do* ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)" + +\(fn ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)" (cl-expand-do-loop steps endtest body t)) (defun cl-expand-do-loop (steps endtest body star) @@ -2398,10 +2400,10 @@ The type name can then be used in `typecase', `check-type', etc." ((eq (car type) 'satisfies) (list (cadr type) val)) (t (error "Bad type spec: %s" type))))) -(defun typep (val type) ; See compiler macro below. +(defun typep (object type) ; See compiler macro below. "Check that OBJECT is of type TYPE. TYPE is a Common Lisp-style type specifier." - (eval (cl-make-type-test 'val type))) + (eval (cl-make-type-test 'object type))) (defmacro check-type (form type &optional string) "Verify that FORM is of type TYPE; signal an error if not. @@ -2438,8 +2440,8 @@ omitted, a default message listing FORM itself is used." nil)))) (defmacro ignore-errors (&rest body) - "Execute FORMS; if an error occurs, return nil. -Otherwise, return result of last FORM." + "Execute BODY; if an error occurs, return nil. +Otherwise, return result of last form in BODY." `(condition-case nil (progn ,@body) (error nil))) |