[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: eval-print-last-sexp and newline
From: |
Richard Stallman |
Subject: |
Re: eval-print-last-sexp and newline |
Date: |
Fri, 30 May 2003 13:13:48 -0400 |
Does this patch fix it?
*** lisp-mode.el.~1.146.~ Wed May 28 06:25:20 2003
--- lisp-mode.el Fri May 30 12:28:33 2003
***************
*** 469,519 ****
(opoint (point))
ignore-quotes
expr)
! (with-syntax-table emacs-lisp-mode-syntax-table
! ;; If this sexp appears to be enclosed in `...'
! ;; then ignore the surrounding quotes.
! (setq ignore-quotes
! (or (eq (following-char) ?\')
! (eq (preceding-char) ?\')))
! (forward-sexp -1)
! ;; If we were after `?\e' (or similar case),
! ;; use the whole thing, not just the `e'.
! (when (eq (preceding-char) ?\\)
! (forward-char -1)
! (when (eq (preceding-char) ??)
! (forward-char -1)))
! ;; Skip over `#N='s.
! (when (eq (preceding-char) ?=)
! (let (labeled-p)
! (save-excursion
! (skip-chars-backward "0-9#=")
! (setq labeled-p (looking-at "\\(#[0-9]+=\\)+")))
! (when labeled-p
! (forward-sexp -1))))
! (save-restriction
! ;; address@hidden 30-Jul-1997: skip ` in
! ;; `variable' so that the value is returned, not the
! ;; name
! (if (and ignore-quotes
! (eq (following-char) ?`))
! (forward-char))
! (narrow-to-region (point-min) opoint)
! (setq expr (read (current-buffer)))
! ;; If it's an (interactive ...) form, it's more
! ;; useful to show how an interactive call would
! ;; use it.
! (and (consp expr)
! (eq (car expr) 'interactive)
! (setq expr
! (list 'call-interactively
! (list 'quote
! (list 'lambda
! '(&rest args)
! expr
! 'args)))))
! expr))))))
(let ((unabbreviated (let ((print-length nil) (print-level nil))
(prin1-to-string value)))
(print-length eval-expression-print-length)
--- 469,520 ----
(opoint (point))
ignore-quotes
expr)
! (save-excursion
! (with-syntax-table emacs-lisp-mode-syntax-table
! ;; If this sexp appears to be enclosed in `...'
! ;; then ignore the surrounding quotes.
! (setq ignore-quotes
! (or (eq (following-char) ?\')
! (eq (preceding-char) ?\')))
! (forward-sexp -1)
! ;; If we were after `?\e' (or similar case),
! ;; use the whole thing, not just the `e'.
! (when (eq (preceding-char) ?\\)
! (forward-char -1)
! (when (eq (preceding-char) ??)
! (forward-char -1)))
! ;; Skip over `#N='s.
! (when (eq (preceding-char) ?=)
! (let (labeled-p)
! (save-excursion
! (skip-chars-backward "0-9#=")
! (setq labeled-p (looking-at "\\(#[0-9]+=\\)+")))
! (when labeled-p
! (forward-sexp -1))))
! (save-restriction
! ;; address@hidden 30-Jul-1997: skip ` in
! ;; `variable' so that the value is returned, not the
! ;; name
! (if (and ignore-quotes
! (eq (following-char) ?`))
! (forward-char))
! (narrow-to-region (point-min) opoint)
! (setq expr (read (current-buffer)))
! ;; If it's an (interactive ...) form, it's more
! ;; useful to show how an interactive call would
! ;; use it.
! (and (consp expr)
! (eq (car expr) 'interactive)
! (setq expr
! (list 'call-interactively
! (list 'quote
! (list 'lambda
! '(&rest args)
! expr
! 'args)))))
! expr)))))))
(let ((unabbreviated (let ((print-length nil) (print-level nil))
(prin1-to-string value)))
(print-length eval-expression-print-length)