unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 23.0.60; Womang hangs on some links
@ 2008-06-07 21:50 Frédéric Perrin
  2008-06-08  3:19 ` Stefan Monnier
  0 siblings, 1 reply; 2+ messages in thread
From: Frédéric Perrin @ 2008-06-07 21:50 UTC (permalink / raw)
  To: emacs-pretest-bug

Hello,

Starting with a fresh checkout of the emacs source tree, Woman hangs
when following some links to non-existent man pages. It happenned when
I was looking at the procmailrc(5) page, and wanted to follow the
regexp(5) link. At that moment, emacs stopped responding. The
regexp(5) page doesn't exist on my system.

However, when trying to come up with a minimal example, I saw that it
doesn't happen with all broken links. Here are the steps to reproduce :

1. Save the following snippet to a file, say hangs.1 :

---------------- 8< ----------------
.TH "hang" 1
.SH NAME
hang \- small man page that hangs Emacs
.SH DESCRIPTION
If you follow this link :
.BR regexp (5)
, Emacs will hang.

However, if you follow this one :
.BR nonexistent (5)
, Emacs won't hang.
---------------- 8< ---------------

2. Start emacs with emacs -Q, and visit hangs.1 with M-x
woman-find-file.

3. Put point on nonexistent(5) and press RET : as expected, Woman says
that the page cannot by found.

4. Put point on regexp(5), and press RET : emacs with stop responding,
consuming 100% of the CPU.

A side question : given the recent discussions about the state of the
toolchain used, I did 'rm -fr emacs ; cvs -d... co emacs ; cd emacs ;
./configure ; make bootstrap'. Is there a method less network and
CPU-hungry ?

-- 
Fred

In GNU Emacs 23.0.60.1 (i686-pc-linux-gnu, GTK+ Version 2.12.10)
 of 2008-06-07 on girafe
Windowing system distributor `The X.Org Foundation', version 11.0.10400090
configured using `configure  '--prefix=/home/fred' '--program-suffix=.cvs''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: fr_FR.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  show-paren-mode: t
  global-hi-lock-mode: t
  hi-lock-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
M-x r e p o r t <tab> <return>

Recent messages:
Loading /usr/share/emacs22/site-lisp/debian-startup.elc...done
Loading 00debian-vars...done
Loading /etc/emacs22/site-start.d/50auctex.el (source)...
Error while loading 50auctex
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
Error while loading 50dictionaries-common
Loading /etc/emacs/site-start.d/50php-elisp.el (source)...done
Loading /etc/emacs/site-start.d/50psvn.el (source)...done
Loading /home/fred/.emacs.d/my-emacs-cvs.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: 23.0.60; Womang hangs on some links
  2008-06-07 21:50 23.0.60; Womang hangs on some links Frédéric Perrin
@ 2008-06-08  3:19 ` Stefan Monnier
  0 siblings, 0 replies; 2+ messages in thread
From: Stefan Monnier @ 2008-06-08  3:19 UTC (permalink / raw)
  To: Frédéric Perrin; +Cc: emacs-pretest-bug

> A side question : given the recent discussions about the state of the
> toolchain used, I did 'rm -fr emacs ; cvs -d... co emacs ; cd emacs ;
> ./configure ; make bootstrap'. Is there a method less network and
> CPU-hungry ?

You can use a cvs-clean script which just removes all
non-CVS-controlled files.  This is *much* faster and doesn't require any
network access.
E.g. I occasionally use the script below.


        Stefan


#!/usr/bin/perl

sub cvsclean {
    my($path) = @_;
    my(%files) = ();
    my(@subdirs);

    print STDOUT "Cleaning $path\n";
    opendir (DIR, "$path/") || die "No directory $path";
    open (ENTRIES, "$path/CVS/Entries") || die "No $path/CVS/Entries file";
    while (<ENTRIES>) {
	if (m[^D/([^/]+)]) {
	    push (@subdirs, "$path/$1");
	} elsif (m[^/([^/]+)/[^/-]]) {
	    $files{$1} = "managed";
	}
    }

    foreach $entry (readdir(DIR)) {
	if (!exists ($files{$entry})) {
	    $entry = "$path/$entry";
	    if (-f $entry) {
		print STDOUT "unlink $entry\n";
		unlink $entry;
	    }
	}
    }
    
    foreach $subdir (@subdirs) {
	&cvsclean ($subdir);
    }
}

&cvsclean (".");




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-06-08  3:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-07 21:50 23.0.60; Womang hangs on some links Frédéric Perrin
2008-06-08  3:19 ` Stefan Monnier

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).