From unknown Sun Jun 22 11:37:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#5992: Crash in bidi_paragraph_init Resent-From: Juanma Barranquero Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 20 Apr 2010 22:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 5992 X-GNU-PR-Package: emacs,bidi X-GNU-PR-Keywords: To: 5992@debbugs.gnu.org X-Debbugs-Original-To: Bug-Gnu-Emacs Received: via spool by submit@debbugs.gnu.org id=B.127180426112086 (code B ref -1); Tue, 20 Apr 2010 22:58:02 +0000 Received: (at submit) by debbugs.gnu.org; 20 Apr 2010 22:57:41 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O4MNx-00038t-8o for submit@debbugs.gnu.org; Tue, 20 Apr 2010 18:57:41 -0400 Received: from mail.gnu.org ([199.232.76.166] helo=mx10.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O4MNv-00038o-1t for submit@debbugs.gnu.org; Tue, 20 Apr 2010 18:57:39 -0400 Received: from lists.gnu.org ([199.232.76.165]:41376) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1O4MNq-0007R0-SY for submit@debbugs.gnu.org; Tue, 20 Apr 2010 18:57:34 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O4MNo-0001Xl-IC for bug-gnu-emacs@gnu.org; Tue, 20 Apr 2010 18:57:32 -0400 Received: from [140.186.70.92] (port=47860 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O4MNk-00019C-4U for bug-gnu-emacs@gnu.org; Tue, 20 Apr 2010 18:57:31 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.0 (2010-01-18) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,T_DKIM_INVALID autolearn=unavailable version=3.3.0 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O4MG9-0003n4-9e for bug-gnu-emacs@gnu.org; Tue, 20 Apr 2010 18:49:42 -0400 Received: from mail-bw0-f225.google.com ([209.85.218.225]:63401) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O4MG9-0003mY-4a for bug-gnu-emacs@gnu.org; Tue, 20 Apr 2010 18:49:37 -0400 Received: by bwz25 with SMTP id 25so6533705bwz.8 for ; Tue, 20 Apr 2010 15:49:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:from:date:received :message-id:subject:to:content-type; bh=sAwNLFNgO+YC0Axeb9hTRl5nyOFqYn3TktJ6oq8+OZc=; b=saY/h0VQPiFPRxmSreeGMhvHASULE2vof5FFl+Siy1KI+HKjumrnm9wQecLQY3AHyC 86Ib/zagUYrFnp+LRwj6mdh1n9ZyQRSaZLE50X1HONf71aKau7MeOMTGo7xRCyGycjSx KjcmuuP6nKOA9gCtK6gOiOPaGYqrf8ewTXA8I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=je8eeZgcuTS7psrQhfC5MnazlcPG0RnadfWxtedGsuh1F2ghfWFUF9i9mHe7fqpmqS lmFTP4BIuFXWPZhDyNCZiF6LjU1SA8bT3SSIQIhrDG8e3An74Lalnh9/W5C/BNo3muiC uBEYu4l/hzwdFnc8UiOH0TZ0a7/WBCFt+akx0= MIME-Version: 1.0 Received: by 10.204.81.29 with HTTP; Tue, 20 Apr 2010 15:49:15 -0700 (PDT) From: Juanma Barranquero Date: Wed, 21 Apr 2010 00:49:15 +0200 Received: by 10.204.151.71 with SMTP id b7mr1614401bkw.114.1271803775295; Tue, 20 Apr 2010 15:49:35 -0700 (PDT) Message-ID: Content-Type: text/plain; charset=UTF-8 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Spam-Score: -4.4 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.4 (----) Package: emacs,bidi Version: 24.0.50 emacs -Q --eval "(setq-default bidi-display-reordering t)" ..\doc\lispref\locals.texi Breakpoint 1, w32_abort () at w32fns.c:7349 7349 button = MessageBox (NULL, (gdb) bt #0 w32_abort () at w32fns.c:7349 #1 0x012bf00b in bidi_paragraph_init (dir=NEUTRAL_DIR, bidi_it=0x88d9c8) at bidi.c:909 #2 0x01066004 in set_iterator_to_next (it=0x88d470, reseat_p=1) at xdisp.c:6260 #3 0x0108f3f0 in display_line (it=0x88d470) at xdisp.c:17725 #4 0x010847c7 in try_window (window=55639045, pos=..., flags=1) at xdisp.c:14674 #5 0x01082be5 in redisplay_window (window=55639045, just_this_one_p=0) at xdisp.c:14295 #6 0x0107bada in redisplay_window_0 (window=55639045) at xdisp.c:12587 #7 0x010362ca in internal_condition_case_1 (bfun=0x107baa7 , arg=55639045, handlers=49859198, hfun=0x107ba86 ) at eval.c:1560 #8 0x0107ba6d in redisplay_windows (window=55639045) at xdisp.c:12566 #9 0x010796dc in redisplay_internal (preserve_echo_area=0) at xdisp.c:12138 #10 0x010762ec in redisplay () at xdisp.c:11368 #11 0x0100a784 in read_char (commandflag=1, nmaps=2, maps=0x88f960, prev_event=49874970, used_mouse_menu=0x88fa38, end_time=0x0) at keyboard.c:2576 #12 0x0101d3f0 in read_key_sequence (keybuf=0x88fbcc, bufsize=30, prompt=49874970, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9349 #13 0x01007bf7 in command_loop_1 () at keyboard.c:1636 #14 0x010361e2 in internal_condition_case (bfun=0x100734e , handlers=49932506, hfun=0x1006a75 ) at eval.c:1512 #15 0x01006f4f in command_loop_2 () at keyboard.c:1356 #16 0x01035c64 in internal_catch (tag=49930674, func=0x1006f2a , arg=49874970) at eval.c:1248 #17 0x01006f08 in command_loop () at keyboard.c:1335 #18 0x01006180 in recursive_edit_1 () at keyboard.c:950 #19 0x0100669b in Frecursive_edit () at keyboard.c:1012 #20 0x01002a95 in main (argc=5, argv=0xd52d30) at emacs.c:1784 From unknown Sun Jun 22 11:37:42 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.427 (Entity 5.427) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Juanma Barranquero Subject: bug#5992: closed (Re: bug#5992: Crash in bidi_paragraph_init) Message-ID: References: <83hbn44qqy.fsf@gnu.org> X-Gnu-PR-Message: they-closed 5992 X-Gnu-PR-Package: emacs,bidi Reply-To: 5992@debbugs.gnu.org Date: Wed, 21 Apr 2010 18:16:01 +0000 Content-Type: multipart/mixed; boundary="----------=_1271873761-18936-1" This is a multi-part message in MIME format... ------------=_1271873761-18936-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #5992: Crash in bidi_paragraph_init which was filed against the emacs,bidi package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 5992@debbugs.gnu.org. --=20 5992: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D5992 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1271873761-18936-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 5992-done) by debbugs.gnu.org; 21 Apr 2010 18:15:39 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O4eSY-0004v9-7o for submit@debbugs.gnu.org; Wed, 21 Apr 2010 14:15:38 -0400 Received: from mtaout20.012.net.il ([80.179.55.166]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O4eSV-0004v3-Mm for 5992-done@debbugs.gnu.org; Wed, 21 Apr 2010 14:15:36 -0400 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0L1800A00NY35O00@a-mtaout20.012.net.il> for 5992-done@debbugs.gnu.org; Wed, 21 Apr 2010 21:14:39 +0300 (IDT) Received: from HOME-C4E4A596F7 ([84.228.129.222]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0L180074HO0CMLA0@a-mtaout20.012.net.il>; Wed, 21 Apr 2010 21:14:39 +0300 (IDT) Date: Wed, 21 Apr 2010 21:14:45 +0300 From: Eli Zaretskii Subject: Re: bug#5992: Crash in bidi_paragraph_init In-reply-to: X-012-Sender: halo1@inter.net.il To: Juanma Barranquero Message-id: <83hbn44qqy.fsf@gnu.org> References: X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 5992-done Cc: 5992-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.9 (-) > From: Juanma Barranquero > Date: Wed, 21 Apr 2010 00:49:15 +0200 > Cc: > > emacs -Q --eval "(setq-default bidi-display-reordering t)" > ..\doc\lispref\locals.texi > > > Breakpoint 1, w32_abort () at w32fns.c:7349 > 7349 button = MessageBox (NULL, > (gdb) bt > #0 w32_abort () at w32fns.c:7349 > #1 0x012bf00b in bidi_paragraph_init (dir=NEUTRAL_DIR, > bidi_it=0x88d9c8) at bidi.c:909 > #2 0x01066004 in set_iterator_to_next (it=0x88d470, reseat_p=1) at xdisp.c:6260 This happens because texinfo.el defines a local value for paragraph-start and paragraph-separate that match non-empty lines that don't need to include newlines: (setq paragraph-separate (concat "\b\\|@[a-zA-Z]*[ \n]\\|" paragraph-separate)) (setq paragraph-start (concat "\b\\|@[a-zA-Z]*[ \n]\\|" paragraph-start)) Thus, "@foo " is a paragraph separator. The bidi reordering code is not ready for such surprises, because UAX#9 says: The algorithm reorders text only within a paragraph; characters in one paragraph have no effect on characters in a different paragraph. Paragraphs are divided by the Paragraph Separator or appropriate Newline Function [...]. Paragraphs may also be determined by higher-level protocols: for example, the text in two different cells of a table will be in different paragraphs. We use the ``higher-level protocols'' fire escape to define a paragraph in Emacsy way. But the algorithm still expects the paragraph to begin and end in a newline. If paragraph-start and paragraph-separate don't cooperate, sooner or later bidi.c will crash. In retrospect, it was too audacious of me to use the buffer-local value of these two variables, considering the interesting ways in which various modes define them. I installed a change that uses only the default values of these variables. If people think this is not flexible enough, we can always add something like bidi-paragraph-start etc., or find some other solution. ------------=_1271873761-18936-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 20 Apr 2010 22:57:41 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O4MNx-00038t-8o for submit@debbugs.gnu.org; Tue, 20 Apr 2010 18:57:41 -0400 Received: from mail.gnu.org ([199.232.76.166] helo=mx10.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O4MNv-00038o-1t for submit@debbugs.gnu.org; Tue, 20 Apr 2010 18:57:39 -0400 Received: from lists.gnu.org ([199.232.76.165]:41376) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1O4MNq-0007R0-SY for submit@debbugs.gnu.org; Tue, 20 Apr 2010 18:57:34 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O4MNo-0001Xl-IC for bug-gnu-emacs@gnu.org; Tue, 20 Apr 2010 18:57:32 -0400 Received: from [140.186.70.92] (port=47860 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O4MNk-00019C-4U for bug-gnu-emacs@gnu.org; Tue, 20 Apr 2010 18:57:31 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.0 (2010-01-18) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,T_DKIM_INVALID autolearn=unavailable version=3.3.0 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O4MG9-0003n4-9e for bug-gnu-emacs@gnu.org; Tue, 20 Apr 2010 18:49:42 -0400 Received: from mail-bw0-f225.google.com ([209.85.218.225]:63401) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O4MG9-0003mY-4a for bug-gnu-emacs@gnu.org; Tue, 20 Apr 2010 18:49:37 -0400 Received: by bwz25 with SMTP id 25so6533705bwz.8 for ; Tue, 20 Apr 2010 15:49:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:from:date:received :message-id:subject:to:content-type; bh=sAwNLFNgO+YC0Axeb9hTRl5nyOFqYn3TktJ6oq8+OZc=; b=saY/h0VQPiFPRxmSreeGMhvHASULE2vof5FFl+Siy1KI+HKjumrnm9wQecLQY3AHyC 86Ib/zagUYrFnp+LRwj6mdh1n9ZyQRSaZLE50X1HONf71aKau7MeOMTGo7xRCyGycjSx KjcmuuP6nKOA9gCtK6gOiOPaGYqrf8ewTXA8I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; b=je8eeZgcuTS7psrQhfC5MnazlcPG0RnadfWxtedGsuh1F2ghfWFUF9i9mHe7fqpmqS lmFTP4BIuFXWPZhDyNCZiF6LjU1SA8bT3SSIQIhrDG8e3An74Lalnh9/W5C/BNo3muiC uBEYu4l/hzwdFnc8UiOH0TZ0a7/WBCFt+akx0= MIME-Version: 1.0 Received: by 10.204.81.29 with HTTP; Tue, 20 Apr 2010 15:49:15 -0700 (PDT) From: Juanma Barranquero Date: Wed, 21 Apr 2010 00:49:15 +0200 Received: by 10.204.151.71 with SMTP id b7mr1614401bkw.114.1271803775295; Tue, 20 Apr 2010 15:49:35 -0700 (PDT) Message-ID: Subject: Crash in bidi_paragraph_init To: Bug-Gnu-Emacs Content-Type: text/plain; charset=UTF-8 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Spam-Score: -4.4 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.4 (----) Package: emacs,bidi Version: 24.0.50 emacs -Q --eval "(setq-default bidi-display-reordering t)" ..\doc\lispref\locals.texi Breakpoint 1, w32_abort () at w32fns.c:7349 7349 button = MessageBox (NULL, (gdb) bt #0 w32_abort () at w32fns.c:7349 #1 0x012bf00b in bidi_paragraph_init (dir=NEUTRAL_DIR, bidi_it=0x88d9c8) at bidi.c:909 #2 0x01066004 in set_iterator_to_next (it=0x88d470, reseat_p=1) at xdisp.c:6260 #3 0x0108f3f0 in display_line (it=0x88d470) at xdisp.c:17725 #4 0x010847c7 in try_window (window=55639045, pos=..., flags=1) at xdisp.c:14674 #5 0x01082be5 in redisplay_window (window=55639045, just_this_one_p=0) at xdisp.c:14295 #6 0x0107bada in redisplay_window_0 (window=55639045) at xdisp.c:12587 #7 0x010362ca in internal_condition_case_1 (bfun=0x107baa7 , arg=55639045, handlers=49859198, hfun=0x107ba86 ) at eval.c:1560 #8 0x0107ba6d in redisplay_windows (window=55639045) at xdisp.c:12566 #9 0x010796dc in redisplay_internal (preserve_echo_area=0) at xdisp.c:12138 #10 0x010762ec in redisplay () at xdisp.c:11368 #11 0x0100a784 in read_char (commandflag=1, nmaps=2, maps=0x88f960, prev_event=49874970, used_mouse_menu=0x88fa38, end_time=0x0) at keyboard.c:2576 #12 0x0101d3f0 in read_key_sequence (keybuf=0x88fbcc, bufsize=30, prompt=49874970, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9349 #13 0x01007bf7 in command_loop_1 () at keyboard.c:1636 #14 0x010361e2 in internal_condition_case (bfun=0x100734e , handlers=49932506, hfun=0x1006a75 ) at eval.c:1512 #15 0x01006f4f in command_loop_2 () at keyboard.c:1356 #16 0x01035c64 in internal_catch (tag=49930674, func=0x1006f2a , arg=49874970) at eval.c:1248 #17 0x01006f08 in command_loop () at keyboard.c:1335 #18 0x01006180 in recursive_edit_1 () at keyboard.c:950 #19 0x0100669b in Frecursive_edit () at keyboard.c:1012 #20 0x01002a95 in main (argc=5, argv=0xd52d30) at emacs.c:1784 ------------=_1271873761-18936-1-- From unknown Sun Jun 22 11:37:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#5992: Crash in bidi_paragraph_init Resent-From: Stefan Monnier Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 21 Apr 2010 19:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 5992 X-GNU-PR-Package: emacs,bidi X-GNU-PR-Keywords: To: 5992@debbugs.gnu.org Cc: eliz@gnu.org Received: via spool by 5992-submit@debbugs.gnu.org id=B5992.127187847320876 (code B ref 5992); Wed, 21 Apr 2010 19:35:01 +0000 Received: (at 5992) by debbugs.gnu.org; 21 Apr 2010 19:34:33 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O4fgu-0005Qf-FX for submit@debbugs.gnu.org; Wed, 21 Apr 2010 15:34:32 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.183] helo=ironport2-out.pppoe.ca) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O4fgs-0005Qa-In for 5992@debbugs.gnu.org; Wed, 21 Apr 2010 15:34:31 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtsFANbvzkvO+KBX/2dsb2JhbACQFYt8cr4HhQ8Ei3k X-IronPort-AV: E=Sophos;i="4.52,251,1270440000"; d="scan'208";a="61633188" Received: from 206-248-160-87.dsl.teksavvy.com (HELO pastel.home) ([206.248.160.87]) by ironport2-out.pppoe.ca with ESMTP; 21 Apr 2010 15:34:25 -0400 Received: by pastel.home (Postfix, from userid 20848) id 19E5C815B; Wed, 21 Apr 2010 15:34:25 -0400 (EDT) From: Stefan Monnier Message-ID: References: <83hbn44qqy.fsf@gnu.org> Date: Wed, 21 Apr 2010 15:34:25 -0400 In-Reply-To: <83hbn44qqy.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 21 Apr 2010 21:14:45 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -1.6 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.6 (-) > This happens because texinfo.el defines a local value for > paragraph-start and paragraph-separate that match non-empty lines that > don't need to include newlines: > (setq paragraph-separate > (concat "\b\\|@[a-zA-Z]*[ \n]\\|" paragraph-separate)) > (setq paragraph-start (concat "\b\\|@[a-zA-Z]*[ \n]\\|" paragraph-start)) > Thus, "@foo " is a paragraph separator. Actually, IIRC what paragraphs.el says is not quite that "@foo " is a paragraph separator, but that a line that starts with "@foo " is a paragraph separator (i.e. is not part of a paragraph). So it doesn't seem incompatible with your needs. Stefan