Peter Dalgaard's interest in a different method of help display led me to combine R's method of finding the help files, which is much better than the search method I initially used, with a system call to display the help file in an arbitrary method in another window. For the original request of using "less" in an xterm, the user would have to create a batch file (in *NIX or equivalent method in other OSs) similar to the following: #!/bin/sh xterm -T $1 -e less $1 which I call "startless", and store it in a file in the user's path. Then insert the following lines in something like the .Rprofile file: options(pager="startless") source("HDfile") where HDfile is the path and file name of the following file (for me, "/home/jim/R/helpdisp.R"): # retrieves the R help filename corresponding to a particular # type of display. Defaults to "help" (sort-of-text) and will # currently cope with HTML and any other display where the # name of the display program and the directory name of the # help files are the same. get.help.filename<-function(topic,display.type="help") { lib.loc <- .libPaths() packages <- .packages(all.available = TRUE, lib.loc = lib.loc) files<-character(0) for (lib in lib.loc) { for (pkg in packages) { INDEX <- system.file(package = pkg, lib.loc = lib) file <- index.search(topic, INDEX, "AnIndex",display.type) if(length(file) && file != "") files<-c(files,file) } } return(files) } # Calls get.help.filename for the name of the relevant help file # and if a filename is returned, calls the pager, browser or # other program to display the file. The name of the display # program must be the same as the directory for the appropriate # files in any format other than "help" or HTML. help.display<-function(topic,display.type=c("help","html")) { topic=substitute(topic) if (is.name(topic)) topic <- as.character(topic) else if (!is.character(topic)) stop("Unimplemented help feature") helpfile<-get.help.filename(topic,display.type) if(length(helpfile)) { if(display.type == "help") system(paste(options("pager"),helpfile,"&")) else { if(display.type == "html") system(paste(options("browser"),helpfile,"&")) # if the user has specified a display type, try to run it. else { if(system(paste(display.type,helpfile,"&"))) cat("Error starting display type",display.type,"\n") } } } else cat("Can't find help for",topic,"\n") invisible(helpfile) } A lot of this is simply what I hope is the relevant code lifted from the help() function. I think that separating the filename finding and display calling parts of the function make it a lot easier to follow. I welcome suggestions and improvements. Jim Feel free to ignore any garbage beneath this line. DISCLAIMER\ ====================================================... {{dropped}}