From: Leo Liu <sdl.web@gmail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 18652@debbugs.gnu.org
Subject: bug#18652: 25.0.50; [PATCH] Add fresh-line
Date: Wed, 08 Oct 2014 09:54:28 +0800 [thread overview]
Message-ID: <m3vbnvuy0b.fsf@gmail.com> (raw)
In-Reply-To: <jwvbnpnzk2p.fsf-monnier+emacsbugs@gnu.org> (Stefan Monnier's message of "Tue, 07 Oct 2014 16:45:11 -0400")
On 2014-10-07 16:45 -0400, Stefan Monnier wrote:
> Oh, I missed this part. Then, maybe it's OK. But in the case where
> printcharfun is a function, it should signal an error rather than
> silently returning nil.
How about something like this? Thanks, Leo.
=== modified file 'src/print.c'
--- src/print.c 2014-09-11 06:21:55 +0000
+++ src/print.c 2014-10-08 01:51:45 +0000
@@ -530,6 +530,33 @@
return Qt;
}
+DEFUN ("fresh-line", Ffresh_line, Sfresh_line, 0, 1, 0,
+ doc: /* Output a newline unless already at the beginning of a line.
+Value is non-nil if a newline is printed.
+Signal an error if PRINTCHARFUN is a function. */)
+ (Lisp_Object printcharfun)
+{
+ PRINTDECLARE;
+ if (NILP (printcharfun))
+ printcharfun = Vstandard_output;
+ PRINTPREPARE;
+
+ if (FUNCTIONP (printcharfun))
+ signal_error ("Unsupported function argument", printcharfun);
+
+ if (NILP (Fbolp ()))
+ {
+ PRINTCHAR ('\n');
+ PRINTFINISH;
+ return Qt;
+ }
+ else
+ {
+ PRINTFINISH;
+ return Qnil;
+ }
+}
+
DEFUN ("prin1", Fprin1, Sprin1, 1, 2, 0,
doc: /* Output the printed representation of OBJECT, any Lisp object.
Quoting characters are printed when needed to make output that `read'
@@ -2334,6 +2361,7 @@
defsubr (&Sprinc);
defsubr (&Sprint);
defsubr (&Sterpri);
+ defsubr (&Sfresh_line);
defsubr (&Swrite_char);
#ifdef WITH_REDIRECT_DEBUGGING_OUTPUT
defsubr (&Sredirect_debugging_output);
next prev parent reply other threads:[~2014-10-08 1:54 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-07 13:03 bug#18652: 25.0.50; [PATCH] Add fresh-line Leo Liu
2014-10-07 13:21 ` Andreas Schwab
2014-10-07 13:43 ` Leo Liu
2014-10-07 13:47 ` Andreas Schwab
2014-10-07 14:15 ` Stefan Monnier
2014-10-07 15:13 ` Leo Liu
2014-10-07 20:45 ` Stefan Monnier
2014-10-08 1:54 ` Leo Liu [this message]
2014-10-08 5:08 ` Leo Liu
2014-10-08 7:08 ` Eli Zaretskii
2014-10-08 8:45 ` Leo Liu
2014-10-08 10:26 ` Eli Zaretskii
2014-10-08 14:02 ` Stefan Monnier
2014-10-08 16:17 ` Leo Liu
2014-10-08 18:26 ` Stefan Monnier
2014-10-08 22:24 ` Leo Liu
2014-10-09 1:15 ` Glenn Morris
2014-10-09 1:57 ` Leo Liu
2014-10-09 2:02 ` Glenn Morris
2014-10-09 6:46 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3vbnvuy0b.fsf@gmail.com \
--to=sdl.web@gmail.com \
--cc=18652@debbugs.gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).