diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-06-23 11:38:23 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-06-23 11:38:23 -0400 |
commit | dc5d230cac26a7ad04afd63bfc8db7c3df529fba (patch) | |
tree | dbe754c92c664a8bce769174e97e5660380df0c4 /lisp/emacs-lisp | |
parent | e8c1cabf0330c190594cb77942a5690afee9e926 (diff) | |
download | emacs-dc5d230cac26a7ad04afd63bfc8db7c3df529fba.tar.gz emacs-dc5d230cac26a7ad04afd63bfc8db7c3df529fba.tar.bz2 emacs-dc5d230cac26a7ad04afd63bfc8db7c3df529fba.zip |
Miscellaneous minor cleanups and simplifications.
* lisp/help-fns.el (describe-variable): Don't croak when doc is not found.
* lisp/vc/pcvs.el (cvs-retrieve-revision): Avoid toggle-read-only.
* lisp/menu-bar.el (menu-bar-line-wrapping-menu): Purecopy a tiny bit more.
* lisp/emacs-lisp/syntax.el (syntax-ppss): Simplify with new `if' place.
* lisp/emacs-lisp/smie.el (smie-next-sexp): CSE.
* lisp/emacs-lisp/macroexp.el (macroexp-let2): Fix edebug spec and avoid
((lambda ..) ..).
* lisp/emacs-lisp/eieio.el (eieio-oref, slot-value): Use simpler defsetf.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/eieio.el | 6 | ||||
-rw-r--r-- | lisp/emacs-lisp/macroexp.el | 4 | ||||
-rw-r--r-- | lisp/emacs-lisp/smie.el | 13 | ||||
-rw-r--r-- | lisp/emacs-lisp/syntax.el | 6 |
4 files changed, 14 insertions, 15 deletions
diff --git a/lisp/emacs-lisp/eieio.el b/lisp/emacs-lisp/eieio.el index 1efb74e7139..cfba4a84d13 100644 --- a/lisp/emacs-lisp/eieio.el +++ b/lisp/emacs-lisp/eieio.el @@ -2543,10 +2543,12 @@ This is usually a symbol that starts with `:'." ;;; Here are some CLOS items that need the CL package ;; -(defsetf slot-value (obj slot) (store) (list 'eieio-oset obj slot store)) -(defsetf eieio-oref (obj slot) (store) (list 'eieio-oset obj slot store)) +(defsetf eieio-oref eieio-oset) +;; FIXME: Not needed for Emacs>=24.2 since setf follows function aliases. +(defsetf slot-value eieio-oset) ;; The below setf method was written by Arnd Kohrs <kohrs@acm.org> +;; FIXME: Not needed for Emacs>=24.2 since setf expands macros. (define-setf-method oref (obj slot) (with-no-warnings (require 'cl) diff --git a/lisp/emacs-lisp/macroexp.el b/lisp/emacs-lisp/macroexp.el index 6275fd1cdf8..c6e1c0fea38 100644 --- a/lisp/emacs-lisp/macroexp.el +++ b/lisp/emacs-lisp/macroexp.el @@ -269,11 +269,11 @@ This is like `(let ((v ,EXP)) ,EXPS) except that `v' is a new generated symbol which EXPS can find in VAR. TEST should be the name of a predicate on EXP checking whether the `let' can be skipped; if nil, as is usual, `macroexp-const-p' is used." - (declare (indent 3) (debug (sexp form sexp body))) + (declare (indent 3) (debug (sexp sexp form body))) (let ((bodysym (make-symbol "body")) (expsym (make-symbol "exp"))) `(let* ((,expsym ,exp) - (,var (if (,(or test #'macroexp-const-p) ,expsym) + (,var (if (funcall #',(or test #'macroexp-const-p) ,expsym) ,expsym (make-symbol "x"))) (,bodysym ,(macroexp-progn exps))) (if (eq ,var ,expsym) ,bodysym diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el index be3a9828491..9fa8a108236 100644 --- a/lisp/emacs-lisp/smie.el +++ b/lisp/emacs-lisp/smie.el @@ -708,13 +708,12 @@ Possible return values: (when (zerop (length token)) (condition-case err (progn (goto-char pos) (funcall next-sexp 1) nil) - (scan-error (throw 'return - (list t (cl-caddr err) - (buffer-substring-no-properties - (cl-caddr err) - (+ (cl-caddr err) - (if (< (point) (cl-caddr err)) - -1 1))))))) + (scan-error + (let ((pos (nth 2 err))) + (throw 'return + (list t pos + (buffer-substring-no-properties + pos (+ pos (if (< (point) pos) -1 1)))))))) (if (eq pos (point)) ;; We did not move, so let's abort the loop. (throw 'return (list t (point)))))) diff --git a/lisp/emacs-lisp/syntax.el b/lisp/emacs-lisp/syntax.el index 748f31464e0..c3d78b3444b 100644 --- a/lisp/emacs-lisp/syntax.el +++ b/lisp/emacs-lisp/syntax.el @@ -511,10 +511,8 @@ Point is at POS when this function returns." (setq ppss (parse-partial-sexp pt-min (setq pt-min (/ (+ pt-min pos) 2)) nil nil ppss)) - (let ((pair (cons pt-min ppss))) - (if cache-pred - (push pair (cdr cache-pred)) - (push pair syntax-ppss-cache)))) + (push (cons pt-min ppss) + (if cache-pred (cdr cache-pred) syntax-ppss-cache))) ;; Compute the actual return value. (setq ppss (parse-partial-sexp pt-min pos nil nil ppss)) |