Hello everybody,
I tried to update my xemacs-21.5.11 tree to 21.5.12 with the diff file
found in ftp mirrors, but all attempts failed (patch said "patch: ****
malformed patch at line 315").
I tried to skip several parts of the diff file without success (the main
problem ends in the part of "configure", which could not be skipped).
Did anyone encoutered the same problem? Could it be possible to re-generate
the patch file?
\bye
S.
--
MAKING MILHOUSE CRY IS NOT A SCIENCE PROJECT.
MAKING MILHOUSE CRY IS NOT A SCIENCE PROJECT.
MAKING MILHOUSE CRY IS NOT A SCIENCE PROJECT.
-+- Bart Simpson on chalkboard, episode #213

>>>>> "Paul" == Paul Krause <paulkrause1(a)mediaone.net> writes:
Paul> Adrian Aichner <adrian(a)xemacs.org> writes:
>> >> Do we want to make C-u M-x comment-region smarter?
>>
Paul> No! Make indentation smarter. If a comment begins in column
Paul> 1, don't
Paul> indent it when reindenting a region. This solves the
Paul> problem without
Paul> style-changes or hacks to comment-region.
>>
Paul> Have I overlooked anything?
>>
>> This, maybe?
>>
>> (Info-goto-node "(xemacs)Comments")
>>
>> Adrian
Paul> Could you be a little more specific? I don't what you're
Paul> referring to. Maybe this?
Paul> You can also use `Meta-;' to align an existing comment. If a line
Paul> already contains the string that starts comments, `M-;' just moves
Paul> point after it and re-indents it to the conventional place.
Paul> Exception:
Paul> comments starting in column 0 are not moved.
Yes, that, and also the following paragraph.
Some major modes have special rules for indenting certain kinds of
comments in certain contexts. For example, in Lisp code, comments which
start with two semicolons are indented as if they were lines of code,
instead of at the comment column. Comments which start with three
semicolons are supposed to start at the left margin. Emacs understands
these conventions by indenting a double-semicolon comment using TAB and
by not changing the indentation of a triple-semicolon comment at all.
You have a valid point, though.
single-; comments srarting in column 0 should not be moved and
comment-region would work as advertised!
You opened my eyes!
To All:
Isn't this what we should do?
Martin?
Stephen?
Best regards,
Adrian
Paul> The trouble is, it doesn't work as documented. Here's a sample.
Paul> ;;; header comment
Paul> ;; This function is just an example.
Paul> ;;; Here either two or three semicolons are appropriate.
Paul> (defun foo (x)
Paul> ;;; And now, the first part of the function:
Paul> (lambda (foo bar)
Paul> (if (foo bar)
Paul> 'bif
Paul> 'baz))
Paul> ;; The following line adds one.
Paul> (1+ x)) ; This line adds one.
Paul> ;; This function is just an example.
Paul> ;;; Here either two or three semicolons are appropriate.
Paul> (defun foo (x)
Paul> ;;; And now, the first part of the function:
Paul> ;; The following sexp is commented out using comment-region.
Paul> ; (lambda (foo bar)
Paul> ; (if (foo bar)
Paul> ; 'bif
Paul> ; 'baz))
Paul> ;; The following line adds one.
Paul> (1+ x)) ; This line adds one.
Paul> I get the same indentation using either M-; or C-M-q.
Paul> Testing using xemacs -vanilla on
Paul> XEmacs 21.2 (beta37) "Pan" (win32) of Sun Dec 03 2000 on PAULKRAUSE
Paul> as well as
Paul> XEmacs 21.0 "20 minutes to Nikko" (win32) of Fri Mar 26 1999 on
Paul> BLACKBIRD
Paul> (which I just happen to have lying around)
--
Adrian Aichner
mailto:adrian＠xemacs.org
http://www.xemacs.org/

Adrian Aichner <adrian(a)xemacs.org> wrote:
> Since I reverted my own patch to close handles, and built with Ben's
> megapatch implementing a corrected version thereof, I have not seen
> these uninterruptible hangs. I've been using XEmacs every day and
> kept it running for many days so I should have ween them.
>
> Thanks Ben!
[snip]
> It probably was not your patch after all, as stated above.
Well ... great! Would you mind trying my patch again, then? For
convenience, here it is:
Index: lstream.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/lstream.c,v
retrieving revision 1.31
diff -d -u -r1.31 lstream.c
--- lstream.c 2004/11/12 17:16:30 1.31
+++ lstream.c 2004/11/29 04:42:28
＠＠ -778,8 +778,21 ＠＠
static int
Lstream_pseudo_close (Lstream *lstr)
{
+ int flush_rc;
+
if (! (lstr->flags & LSTREAM_FL_IS_OPEN))
Lstream_internal_error ("lstream is not open", lstr);
+
+ /* Flush all the data in the buffer before closing.
+ May require multiple passes thru Lstream_flush_out().
+ This loop (instead of just calling Lstream_flush_out(),
+ fixes a problem where we sometimes lose data sent to
+ a process.
+ */
+
+ do {
+ flush_rc = Lstream_flush_out(lstr);
+ } while (lstr->out_buffer_ind > 0 && flush_rc >= 0);
/* don't check errors here -- best not to risk file descriptor loss */
return Lstream_flush (lstr);
If the hangs return, then we can try the approach of figuring out what
data is getting lost here and where it was supposed to go.
Thanks,
--
Jerry James
http://www.ittc.ku.edu/~james/

I'm going to be setting up a new box soon, including a fresh Cygwin and
Xemacs installation. I noticed recently that the Cygwin installer now
has a set of xemacs packages. What is the difference between the xemacs
package installer in Cygwin and the Cgywin/Xemacs installer I can
download from xemacs.org? I currently have 21.4.13 installed, and I see
the "stable" branch is on 21.4.17. Is that what the cygwin install
package will install?