comparison lisp/emacs-lisp/lisp-mode.el @ 38578:4dce109d0aa3

(eval-last-sexp-1): Don't search for `...', compare with unabbreviated printed representation instead. (last-sexp-print): Bind print-length and print-level to nil.
author Gerd Moellmann <gerd@gnu.org>
date Thu, 26 Jul 2001 13:41:32 +0000
parents c6a3a3a3c0de
children f2c0f6df43ab
comparison
equal deleted inserted replaced
38577:6c6ed5ba3813 38578:4dce109d0aa3
324 (interactive) 324 (interactive)
325 (let ((value (get-text-property (point) 'printed-value))) 325 (let ((value (get-text-property (point) 'printed-value)))
326 (when value 326 (when value
327 (let ((beg (previous-single-property-change (point) 'printed-value)) 327 (let ((beg (previous-single-property-change (point) 'printed-value))
328 (end (next-single-char-property-change (point) 'printed-value)) 328 (end (next-single-char-property-change (point) 'printed-value))
329 (standard-output (current-buffer))) 329 (standard-output (current-buffer))
330 (print-length nil)
331 (print-level nil))
330 (delete-region beg end) 332 (delete-region beg end)
331 (prin1 value))))) 333 (prin1 value)))))
332 334
333 335
334 (defun eval-last-sexp-1 (eval-last-sexp-arg-internal) 336 (defun eval-last-sexp-1 (eval-last-sexp-arg-internal)
386 '(&rest args) 388 '(&rest args)
387 expr 389 expr
388 'args))))) 390 'args)))))
389 expr)) 391 expr))
390 (set-syntax-table stab)))))) 392 (set-syntax-table stab))))))
391 (let ((print-length eval-expression-print-length) 393 (let ((unabbreviated (let ((print-length nil) (print-level nil))
394 (prin1-to-string value)))
395 (print-length eval-expression-print-length)
392 (print-level eval-expression-print-level) 396 (print-level eval-expression-print-level)
393 (beg (point)) 397 (beg (point))
394 end) 398 end)
395 (prin1 value) 399 (prin1 value)
396 (setq end (point)) 400 (setq end (point))
397 (when (and (bufferp standard-output) 401 (when (and (bufferp standard-output)
398 (or (not (null print-length)) 402 (or (not (null print-length))
399 (not (null print-level))) 403 (not (null print-level)))
400 (save-excursion 404 (not (string= unabbreviated (buffer-substring beg end))))
401 (goto-char beg)
402 (search-forward "..." end t)))
403 (let ((map (make-sparse-keymap))) 405 (let ((map (make-sparse-keymap)))
404 (define-key map "\C-m" 'last-sexp-print) 406 (define-key map "\C-m" 'last-sexp-print)
405 (define-key map [down-mouse-2] 'mouse-set-point) 407 (define-key map [down-mouse-2] 'mouse-set-point)
406 (define-key map [mouse-2] 'last-sexp-print) 408 (define-key map [mouse-2] 'last-sexp-print)
407 (add-text-properties 409 (add-text-properties