Mercurial > emacs
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 |