From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Leo Liu Newsgroups: gmane.emacs.bugs Subject: bug#18652: 25.0.50; [PATCH] Add fresh-line Date: Tue, 07 Oct 2014 21:03:05 +0800 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1412687074 14166 80.91.229.3 (7 Oct 2014 13:04:34 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 7 Oct 2014 13:04:34 +0000 (UTC) To: 18652@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Oct 07 15:04:26 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XbURE-00019c-Li for geb-bug-gnu-emacs@m.gmane.org; Tue, 07 Oct 2014 15:04:24 +0200 Original-Received: from localhost ([::1]:58689 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XbURE-0004tl-6m for geb-bug-gnu-emacs@m.gmane.org; Tue, 07 Oct 2014 09:04:24 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47362) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XbUR2-0004t9-IC for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2014 09:04:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XbUQt-00081t-Fz for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2014 09:04:12 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:44684) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XbUQt-00081o-Cz for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2014 09:04:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XbUQs-0000ry-Tm for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2014 09:04:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Leo Liu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 07 Oct 2014 13:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 18652 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.14126870253317 (code B ref -1); Tue, 07 Oct 2014 13:04:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 7 Oct 2014 13:03:45 +0000 Original-Received: from localhost ([127.0.0.1]:36248 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XbUQa-0000rQ-8Z for submit@debbugs.gnu.org; Tue, 07 Oct 2014 09:03:44 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:45483) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XbUQY-0000rH-1M for submit@debbugs.gnu.org; Tue, 07 Oct 2014 09:03:42 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XbUQO-0007wl-5H for submit@debbugs.gnu.org; Tue, 07 Oct 2014 09:03:41 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:35223) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XbUQO-0007wh-27 for submit@debbugs.gnu.org; Tue, 07 Oct 2014 09:03:32 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47157) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XbUQF-0004of-0w for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2014 09:03:32 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XbUQ5-0007qy-FP for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2014 09:03:22 -0400 Original-Received: from mail-pa0-x22c.google.com ([2607:f8b0:400e:c03::22c]:36496) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XbUQ5-0007ny-6t for bug-gnu-emacs@gnu.org; Tue, 07 Oct 2014 09:03:13 -0400 Original-Received: by mail-pa0-f44.google.com with SMTP id et14so7153132pad.31 for ; Tue, 07 Oct 2014 06:03:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type; bh=NbMNADQELOkUJU57wudsGzvVF8mACr6fn3f1Jmutclg=; b=gxhJOTwtvIdqZoQvnZ0Q0GJtb5kD/9ZFR3iP8u/ITcfNoERfZCzNwpHD789vpq2Fr9 554VISlGXs4MWEQ/8jM/q4JPojVGOJGQ500Ysi9tajsPp6YNeYg7Nz91N5kz9UrYW1Sb YX4NqkPZJ3+JrNARkmDlLUeqh6JoorE/dHc5wO2JVLQRLTp6XTxyltIhCkfM4zMFk/U6 DB16+viCRDvFxYz8Bn4zDRGQUQkKYCdM+ZhuU0K4ChnihUWBb9h1SIsEREMExgjHcbVV SSwdAZPGlheSYUPVhC/mDQ1nGZjyZR5qeRwDQwiZHtONTkavZYrXK0pGpFdoIs8D//X4 lYnw== X-Received: by 10.68.161.197 with SMTP id xu5mr1415425pbb.160.1412686991332; Tue, 07 Oct 2014 06:03:11 -0700 (PDT) Original-Received: from fortuna ([221.222.150.213]) by mx.google.com with ESMTPSA id rd5sm7265156pdb.50.2014.10.07.06.03.09 for (version=TLSv1.1 cipher=RC4-SHA bits=128/128); Tue, 07 Oct 2014 06:03:10 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:94225 Archived-At: I often find myself wanting to start printing at a newline and it is a lot of work to do it properly. I wonder if we can add something along these lines? Thanks, Leo === modified file 'src/print.c' --- src/print.c 2014-09-11 06:21:55 +0000 +++ src/print.c 2014-10-07 13:01:46 +0000 @@ -530,6 +530,30 @@ 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. +Do nothing and return nil if PRINTCHARFUN is a function. */) + (Lisp_Object printcharfun) +{ + PRINTDECLARE; + if (NILP (printcharfun)) + printcharfun = Vstandard_output; + PRINTPREPARE; + + if (!FUNCTIONP (printcharfun) && 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 +2358,7 @@ defsubr (&Sprinc); defsubr (&Sprint); defsubr (&Sterpri); + defsubr (&Sfresh_line); defsubr (&Swrite_char); #ifdef WITH_REDIRECT_DEBUGGING_OUTPUT defsubr (&Sredirect_debugging_output);