Mercurial > hg > xemacs-beta
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." |