comparison lisp/modes/lisp-mode.el @ 24:4103f0995bd7 r19-15b95

Import from CVS: tag r19-15b95
author cvs
date Mon, 13 Aug 2007 08:51:03 +0200
parents b82b59fe008d
children ec9a17fef872
comparison
equal deleted inserted replaced
23:0edd3412f124 24:4103f0995bd7
368 (eq (car expr) 'defvar) 368 (eq (car expr) 'defvar)
369 (> (length expr) 2)) 369 (> (length expr) 2))
370 (eval (cons 'defconst (cdr expr))) 370 (eval (cons 'defconst (cdr expr)))
371 (eval expr))) 371 (eval expr)))
372 372
373 (defun eval-last-sexp (eval-last-sexp-arg-internal) 373 ;; XEmacs change, based on Bob Weiner suggestion
374 (defun eval-last-sexp (eval-last-sexp-arg-internal) ;dynamic scoping wonderment
374 "Evaluate sexp before point; print value in minibuffer. 375 "Evaluate sexp before point; print value in minibuffer.
375 With argument, print output into current buffer." 376 With argument, print output into current buffer."
376 (interactive "P") 377 (interactive "P")
377 (let ((standard-output (if eval-last-sexp-arg-internal (current-buffer) t)) 378 (let ((standard-output (if eval-last-sexp-arg-internal (current-buffer) t))
378 (opoint (point))) 379 (opoint (point)))
379 (prin1 (let ((stab (syntax-table))) 380 (prin1 (let ((stab (syntax-table))
380 ;; XEmacs change use eval-interactive not eval 381 expr)
381 (eval-interactive (unwind-protect 382 (eval-interactive
382 (save-excursion 383 (unwind-protect
383 (set-syntax-table emacs-lisp-mode-syntax-table) 384 (save-excursion
384 (forward-sexp -1) 385 (set-syntax-table emacs-lisp-mode-syntax-table)
385 (save-restriction 386 (forward-sexp -1)
386 (narrow-to-region (point-min) opoint) 387 (save-restriction
387 (read (current-buffer)))) 388 (narrow-to-region (point-min) opoint)
388 (set-syntax-table stab))))))) 389 (setq expr (read (current-buffer)))
390 (if (and (consp expr)
391 (eq (car expr) 'interactive))
392 (list 'quote
393 (call-interactively
394 (eval (` (lambda (&rest args)
395 (, expr) args)))))
396 expr)))
397 (set-syntax-table stab)))))))
389 398
390 (defun eval-defun (eval-defun-arg-internal) 399 (defun eval-defun (eval-defun-arg-internal)
391 "Evaluate defun that point is in or before. 400 "Evaluate defun that point is in or before.
392 Print value in minibuffer. 401 Print value in minibuffer.
393 With argument, insert value in current buffer after the defun." 402 With argument, insert value in current buffer after the defun."