From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: Patch: Syntax and Hard Newlines Date: Sat, 18 Nov 2006 15:34:36 +0100 Message-ID: <455F19FC.6@gmx.at> References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1163860486 23787 80.91.229.2 (18 Nov 2006 14:34:46 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 18 Nov 2006 14:34:46 +0000 (UTC) Cc: rms@gnu.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 18 15:34:44 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1GlRHH-0004di-1G for ged-emacs-devel@m.gmane.org; Sat, 18 Nov 2006 15:34:43 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GlRHG-0005UJ-Il for ged-emacs-devel@m.gmane.org; Sat, 18 Nov 2006 09:34:42 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GlRH2-0005Q6-0N for emacs-devel@gnu.org; Sat, 18 Nov 2006 09:34:28 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GlRH0-0005O2-W2 for emacs-devel@gnu.org; Sat, 18 Nov 2006 09:34:27 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GlRH0-0005Np-PF for emacs-devel@gnu.org; Sat, 18 Nov 2006 09:34:26 -0500 Original-Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.52) id 1GlRH0-0007kR-JB for emacs-devel@gnu.org; Sat, 18 Nov 2006 09:34:26 -0500 Original-Received: (qmail invoked by alias); 18 Nov 2006 14:34:25 -0000 Original-Received: from N815P005.adsl.highway.telekom.at (EHLO [62.47.45.197]) [62.47.45.197] by mail.gmx.net (mp018) with SMTP; 18 Nov 2006 15:34:25 +0100 X-Authenticated: #14592706 User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: de-DE, de, en-us, en Original-To: Herbert Euler In-Reply-To: X-Y-GMX-Trusted: 0 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:62421 Archived-At: > BTW: How about this problem? I'm not sure what I should do now. > Could somebody please give some suggestions? Thanks. 1. Define `longlines-wrap-region' somewhat like the following untested (defun longlines-wrap-region (beg end) "Wrap lines between BEG and END." (save-excursion (save-restriction (goto-char end) (unless (eolp) (forward-line)) (setq end (point)) (goto-char beg) (forward-line -1) (setq beg (point)) (narrow-to-region beg end) (remove-overlays nil nil 'longlines t) (while (not (eobp)) (save-restriction (narrow-to-region (line-beginning-position) (line-end-position)) (while (and (move-to-column fill-column) (save-match-data (not (looking-at "[ \t]*$"))) (or (longlines-find-break-backward) (progn (move-to-column fill-column) (longlines-find-break-forward)))) (let* ((from (save-excursion (skip-chars-backward " \t") (point))) (to (save-excursion (skip-chars-forward " \t") (point))) (overlay (make-overlay from to))) ;; Overlay with display property. (overlay-put overlay 'display "\n") (overlay-put overlay 'longlines t) (narrow-to-region (point) (point-max))))) (forward-line))))) 2. Modify the remainder of longlines.el accordingly (I'd wrap only regions between `window-start' and `window-end'). 3. Redefine `next-line' and `previous-line' to treat an overlay with a display property of "\n" just as another newline (possibly guided by an additional "soft" parameter). 4. Add two new commands `beginning-of-line-soft' and `end-of-line-soft' that handle such overlays as well.