= Package RWsearch (Patrice Kiener) =


RWsearch 5.2.6 - 2025-07-31
===========================
- funmaintext() and funmaintex(): print the link to the manual in html format
  introduced in CRAN on mid-July 2025. Primary impact on p_texth(), then 
  p_text(), p_text2pdf(), p_text2tex(), p_text2md()
  Example: "CRANrepos/web/packages/RWsearch/refman/RWsearch.html"
  The link is valid only for packages submitted to CRAN after mid-July 2025.


RWsearch 5.2.5 - 2025-04-13
===========================
- Version packaged with R-4.5.0


RWsearch 5.2.4 - 2025-03-13 - sent to CRAN
==========================================
- Version packaged with R-4.4.3 and sent to CRAN (R-4.4.3)


RWsearch 5.2.3 - 2025-03-07
===========================
- litedown replaces knir+rmarkdown to building the vignettes
- p_vers(): code[i] == "source" rather than pkgs[i]


RWsearch 5.2.2 - 2025-03-06
===========================
- p_vers(..., split, reserved): new arguments to produce a list
- p_oldpkgs(), p_inst(), p_inst_batsh(): protect if is.null(pkgs)


RWsearch 5.2.1 - 2025-03-04
===========================
- Version packaged with R-4.4.3
- Require R (>= 4.0.0) as deparse1() is used in p_inst_batsh(). Previous value is 3.4.0
- p_oldpkgs()
- p_inst_batsh(): function developed for RR2025


RWsearch 5.2.0 - 2024-10-12 - sent to CRAN
==========================================
- Version packaged with R-4.4.1 and sent to CRAN (R-4.4.1)
- Major CHANGES since previous version RWsearch_5.1.4 (2024-03-03):
  - Updated files zcrandb.rda, ztvdb.rda, zcheck_results.rds, zCRAN-archive.html with date 2024-09-26
  - Documentation and vignettes updated accordingly with packages and values 2024-09-26
  - p_man(): new function alias of p_htmlweb()
  - p_text, p_text2tex, p_text2md, p_text2pdf: add "ChangeLog", "RqmdRmd" and "DOI" arguments
  - p_deadline()
  - h_Rpkgs(): new function to the HTML documentation of base and CRAN packages


RWsearch 5.2.0 - 2024-10-12
===========================
- Minor changes in the manual to cope with the new zfiles of v5.1.9
- p_man(): new function alias of p_htmlweb()
- Remove s_Rman() which is identical to s_man()
- cranmirrors_down(): export cranmirrors_down rather than export cranmirrors in Roxygen / Rd file
- Update Vignette_1 with examples extracted from (z)crandb on 2024-09-26
- Update Vignette_3 with p_vers() and p_vers_deps() with dependencies used on 2024-09-26
  Use the old graph (tfestimators, RWsearch, 2019) and the new graph (RWsearch 2024)
- Update Vignette_4 with examples extracted from (z)tvdb on 2024-09-26


RWsearch 5.1.9 - 2024-09-27
===========================
- Transitory version to 5.2.0
- Updated files zcrandb.rda, ztvdb.rda, zcheck_results.rds, zCRAN-archive.html with date 2024-09-26
- New file zbinarydb.rda with date 2024-09-26
- Previous files with date 2021-06-04 were updated in v4.9.1 and used until v5.1.8


RWsearch 5.1.8 - 2024-09-27
===========================
- p_down, p_down0: add "RqmdRmd" argument
- p_text, p_text2tex, p_text2md, p_text2pdf: add "ChangeLog", "RqmdRmd" and "DOI" arguments
- p_texth(): replace "..." by "^..." in items 
- p_texth(): add "ChangeLog", RqmdRmd" and "doi.org..." to arguments and items
- p_texth(): comment the lines "ReadMe" and "github.com"
- p_texth(): select or exclude "R$|Rmd$|qmd$" files from vignettes
- p_downh(): split "pdf$|html$" and "R$|Rmd$|qmd$" files from vignettes
- p_downh(): Change the download order: README, ChangeLog, NEWS before vignettes


RWsearch 5.1.7 - 2024-06-22
===========================
- p_deadline()


RWsearch 5.1.6 - 2024-04-28
===========================
- version packaged for R-4.4.0


RWsearch 5.1.5 - 2024-04-xx
===========================
- h_Rpkgs(): new function to the HTML documentation of base and CRAN packages
- Version packaged for R-4.4.0


RWsearch 5.1.4 - 2024-03-03 - sent to CRAN
==========================================
- Version packaged with R-4.3.2 and sent to CRAN (R-4.3.3)


RWsearch 5.1.3 - 2024-02-29
===========================
- Version packaged for R-4.3.2
- replace \item{}{} by \item in s_crandb_tvdb to pass new checks
- roxygen2: "_PACKAGE" replace @docType package
- file a_intro.R split in Wsearch-package.R and a_intro.R


RWsearch 5.1.2 - 2022-11-10
===========================
- Version packaged for R-4.2.2


RWsearch 5.1.1 - 2022-07-13
===========================
- s_man() and s_Rman(): new functions to earch in the search pages of the R-project
- h_Rman(): new function to the search page of R-project/CRAN
- h_Rblog(): new function for the new R blog address (cited by Thomas Kalibera)
- h_R.R: replace the text "in browser" by "in the browser"
- p_inst.R: p_inst(dependencies = NA)


RWsearch 5.1.0 - 2022-04-23
===========================
- Version packaged for R-4.2.0


RWsearch 5.0.5 - 2022-02-21 - sent to CRAN
==========================================
- adjust the examples to reduce the idle time, probably p_down()


RWsearch 5.0.3 - 2022-02-21
===========================
- As suggested by Uwe Ligges, if (interactive()) added to all examples that open html or pdf files:
- it prevents the pdf viewer and the html browser to open
- The 'Additional issue' raised with v_4.9.8 (currently on CRAN) is solved: 
- it was a too long example that created an overflow in the console


RWsearch 5.0.2 - 2022-02-15
===========================
- This is version 5.0.0 and 5.0.1 renamed
- It was sent to CRAN but not published as
- check --rin-donttest revealed some files blocked by the pdf viewer or the html browser


RWsearch 5.0.1 - 2022-01-31
===========================
- Version 5.0.1 was sent to CRAN and blocked as v5.0.0 was in the pending section
- Same package than v.5.0.0 but with a new version number


RWsearch 5.0.0 - 2022-01-14
===========================
- Move to 5.0.0 and sent to CRAN but not PUBLISHED
- Changes from version 4.9.3 up to version 5.0.0 are about code cleaning and reducing examples
- this version 5.0.0 was stored in the pending section and finally not published


RWsearch 4.9.20 - 2022-01-14
============================
- Temp-xxx-xxxx file/directory in R CMD check Debian is linked to
- Firefox having not enough time to display the 3 pages produced by
- p_display0357(lst)
- p_display.R: p_display5(lst) ; Sys.sleep(3)
- tvdb.R: p_display7(lst, ..., verbose = FALSE) ; Sys.sleep(4)
- s_sos.R: Sys.sleep(3)
- a_intro.R: Sys.sleep(3)


RWsearch 4.9.17 - 2022-01-07
============================
- checkdb_down(): remove the return() function
- trydownloadurl(), tryopenfile(): replace the argument msg by msgTF
- p_vers.R: add to the examples two lines on binarydb_down(). Remove the old comparison code
- p_down.R: subset lst to lst2 in the examples to reduce the number of packages to load
- p_table2pdf.R reduce the number of examples
- p_html.R: quote the examples p_pdf(), p_vig() to reduce the number of sheets in Firefox
- p_graph.R: reduce the number of examples
- p_display.R: create a common dir
- tvdb.R: reduce the number of examples
- refresh all files to date 2022-01-07


RWsearch 4.9.16 - 2022-01-04
============================
- Remove glitches in the previous 4.9.15 version: ... and (
- h_direct.R: rewrite all function with fmsgTF() and furl()
- h_engine.R: rewrite all function with fmsgTF() and furl()
- e_check(): replace utils::browseURL() by trybrowseURL()
- trybrowseURL(): trybrowseURL(): replace the argument msg by the arguments msgF and msgT
- p_check(): reuse utils::browseURL() in one case
- tvdb.R: funIN replace '%in2%'


RWsearch 4.9.14 - 2022-01-03
============================
- p_html(): rewrite the function with tryCatch()
- p_pdf(): send dir2 to writepkg2pdf()
- writepkg2pdf(): function rewritten with a new argument dir2 to return the file.path
- n_graphF(), n_graphS(): add saveNetwork() et tempfile() because Debian requires it
- p_graph.R: adjust the examples
- p_down.R: adjust the example lapply(...,  x[1:2])
- p_check.R: remove the example p_graphF()
- p_archive(): add tryconurl() to detect wrong url(s)
- p_archive_lst(): tempfile(fileext = ".html")
- trybrowseURL(),fmsgTF(), furl(): new functions, mainly for bookmarks
- h_R.R: rewrite all function with fmsgTF() and furl()


RWsearch 4.9.13 - 2022-01-02
============================
- tvdb_pkgs(): remove the last internal variable
- s_tvdb(): remove the last internal variable
- p_text(): tryopenfile() is OK. Remove the former code < 4.9.9
- p_texth(): trydownloadurl() is OK. Remove commented close_libcurl() (end of the loop at line 237)
- table_pdf(), table_pdfh(): the moved openpdf is OK. Remove the former code < 4.9.11
- p_table2pdf.R: add file.path(tempdir(), "ptablepdf")
- p_page(): add tryconurl() to detect wrong url(s)
- p_html2(): rewrite the function with tryCatch(), tryopenfile() and 00Index rather than 00index
- p_man(): add tryconurl() to detect wrong url(s)
- p_pdfweb(): add tryconurl() to detect wrong url(s)


RWsearch 4.9.12 - 2021-12-31
============================
- crandb.R: add file.path(tempdir(), "crandbdown")
- cranmirrors.R: add file.path(tempdir(), "cranmirrors")
- p_display.R: add file.path(tempdir(), "pdisplay")
- s_crandb.R: add file.path(tempdir(), "scrandb")
- s_crandb_tvdb.R: add file.path(tempdir(), "scrandbtvdb")


RWsearch 4.9.11 - 2021-12-31
============================
- table_pdfh, table_pdf(): argument openpdf is moved from table_pdfh() to table_pdf()


RWsearch 4.9.10 - 2021-12-27
============================
- p_texth(): tempfile(fileext = ".html") replaces tempfile() and downloaded files are viewed as html
- a_intro.R: add a subdirectory to tempfiles
- .htmltable(): tryopenfile() replaces utils::browseURL()
- h_zbib(): link to ZoteroBib


RWsearch 4.9.9 - 2021-12-22
===========================
- tryconfile() and tryopenfile() created after tryconurl() and trydownloadurl()
- p_text() [discarded]: file.edit(fileEncoding = "") replaces (fileEncoding = "UTF-8") and opens the file rather
  than the tempfile(). It uses a side effect of file.edit() (see the code of file.edit())
- p_text(): file.edit() replaced by tryopenfile() everywhere as much as possible
- tryopenfile() replaces openpdffile()
- a_intro.R: p_text(lst, pager = TRUE) replaces (..., editor = TRUE)
- a_intro.R and s_sos.R: tail(data.frame(res)) to reduce the output


RWsearch 4.9.8 - 2021-12-03 - sent to CRAN
==========================================
- a_intro.R + h_sos(): reinstall examples
- a_intro.R + h_so(): reinstall examples


RWsearch 4.9.7 - 2021-12-02
===========================
- close_libcurl(): rewrite the function
- tryconurl(): extend the condition and close the connection visible (before this version) in showConnections()
- trydownloadurl(): use the new tryconurl() and add a message for non-available url(s)
- cranmirrors_down(): exit gently when url cannot be downloaded (BR request)
- crandb_down(): issue a message rather than a warning() when url/packages.rds cannot be downloaded
- checkdb_down(): change the message when url/check_results.rds cannot be downloaded
- archivedb_down(): issue a message when url/packages.rds cannot be downloaded
- tvdb_down(): issue a message when url/packages.rds cannot be downloaded
- tvdb_down(), tvdb_load(): return the tvdb invisibly
- p_man(): replace finzi.psych.upenn.edu by search.r-project.org/CRAN/refmans
- a_intro.R: replace finzi.psych.upenn.edu by search.r-project.org
- a_intro.R + h_sos(): remove examples
- a_intro.R + h_so(): remove examples


RWsearch 4.9.6 - 2021-10-06
===========================
- p_vers(): permute columns difbc and compare. -3 rather than 3.
- binarydb_load(): replace get(load()) by load()


RWsearch 4.9.5 - 2021-08-02
===========================
- p_vers(): new gcc column lists packages whose source code is compiled


RWsearch 4.9.4 - 2021-06-08
===========================
- binarydb.R: new file for functions
- binarydb_down()
- binarydb_load()
- p_vers() uses binarydb if loaded in .GloablEnv


RWsearch 4.9.3 - 2021-06-05 - sent to CRAN
==========================================
- Some minor changes in the vignettes and the documentation
- Seems OK

RWsearch 4.9.2 - 2021-06-04
===========================
- p_archive(), p_archive_lst(): url0 inside the function. Message rewritten,
- p_archive(), p_archive_lst(): dontest extended to all examples
- checkdb_load() rewritten: unique(), table(), if_stop()
- Task views rewritten and renumbered
- VignetteIndexEntry reordered


RWsearch 4.9.1 - 2021-06-03
===========================
- Updated files zcrandb.rda, ztvdb.rda, zcheck_results.rds, zCRAN-archive.html to today
- Minor changes in the examples, notably the dates in crandb_fromto()


RWsearch 4.9.0 - 2021-05-30
===========================
- cranmirrors_down(): replace ftp by https in the url to the .csv file (BR request)
- h_engine.R and vignette RWsearch-4: remove h_1bis.com (website is defunct)


RWsearch 4.8.9 - 2021-04-08
===========================
- Correct url (add final cran[...]/views/) in RWsearch-3-TaskViews.Rmd thanks to the new package urlchecker
- New vignette RWsearch-5.
- h_deepl(), h_meteoblue(), h_windy(), h_ianaTLD(), h_ianaWHOIS()


RWsearch 4.8.8 - 2020-12-23
===========================
- Update the README with the lines about p_archive, p_deps, p_check features
- Update the 4 vignettes
- Replace tab by four dots in all files
- p_depsrec()


RWsearch 4.8.7 - 2020-10-22
===========================
- cnscinfun(): rewritten
- cnsc(): call cnscinfun()
- DESCRIPTION: Description text updated
- DESCRIPTION: Authors_R
- DESCRIPTION: Maintainer email changed from fattailsr to rpackages 


RWsearch 4.8.6 - 2020-09-02
===========================
- p_inst(): line if (length(LP) != 1L) rewritten
- p_unload_all()
- DESCRIPTION: rewrite the text with comparaison of versions and the safe package unload
- p_vers(): data.frame() replaces data.frame(version = NULL, crandb = NULL, compare = NULL)
- p_vers(): order(dfr$ndeps, dfr$tdeps, -dfr$compare) replaces order(dfr$ndeps, -dfr$compare)
- p_inst(): line rewritten LP <- LP[seq_len(max(1, length(LP) - 1))]


RWsearch 4.8.5 - 2020-07-05
===========================
- p_vers(): isNamespaceLoaded() in the first column. version and crandb moved to 2 and 3
- p_vers(subset = "compare < 4"): subset the data.frame. "compare < 0" is usual
- p_deps_deps(): list of recursive dependencies for every first level dependencies
- p_deps_sorted() is removed. p_vers_deps() provides a better information with the loaded namespace
- p_vers_deps():  (BIG novelty) help proceed to desinstallation and re)installation in a safe way!


RWsearch 4.8.4 - 2020-07-04
===========================
Remove return() in the following files/functions:
- archivedb.R:     Lines 139, 1136, 145, 174
- cnsc.R:          Lines 76, 108, 141
- crandb.R:        Line 80, 192, 206, 236
- funmaintext.R:   Lines 51, 72, 95, 113, 122
- p_graph.R:       Line 231
- p_html.R:        Line 184
- p_table2pdf.R:   Line 250
- s_crandb.R:      Lines 121, 142, 179, 211
- s_crandb_tvdb.R: Line 113
- s_tvdb.R:        Line 40
- tvdb.R:          Lines 106, 129, 144
- DESCRIPTION: remove pkgnet from Suggests


RWsearch 4.8.3 - 2020-07-04
===========================
- p_vers(): packageDescription(pkg, fields = "Version") replaces packageVersion(pkg) to match crandb values
- p_vers(): Add a column with the versions in crandb (1.4-7 rather than 1.4.7)
- p_vers(): Column compare returns -2, -1, 0, 1, 2, 3
- p_vers(): list of packages and dependencies is allowed; and returns a list
- p_vers(ndeps = TRUE): Calculate the number of recursive dependencies
- p_inst(lib = NULL): try hard to select the most appropriate lib and stop in case of conflict
- p_deps_count(): duplicated pkgs are ignored => unique(pkgs)
- p_deps_ndeps()
- p_deps_sorted()
- p_deps.R: write zzz (or equivalent) at the end of the functions rather than return(zzz)
- p_deps(): if (is.null(pkgs)) return(NULL), if (is.na(pkgs)) return(NA)
- p_deps(verbose = TRUE)


RWsearch 4.8.2 - 2020-06-07
===========================
- p_inst()
- p_down(untar), p_down0(untar), p_downarch(untar), targz_down(untar = FALSE)
- p_down0(RWsearch, targz = TRUE, untar = TRUE) is easier to use than
- targz_down("*.tar.gz", untar = TRUE, url = ".../contrib") downloads from the /contrib directory
- p_vers(): remove the warning on the uninstalled packages.
- h_yahoofin(): words moved to fbr(address, words)


RWsearch 4.8.1 - 2020-05-11
===========================
- p_graph.R: add to exclpkgs the line \code{exclpkgs = c("ggplot2", list.files(.Library))}.
- a_intro.R and s_crandb.R: add the example s_crandb("^f", select = "P")
- p_texth() and p_downh(): exclude github.com/[..]/readme.md from txtrme and README (bug)
- p_vers(): add the line pkgs <- unique(pkgs) to display the rownames (bug)


RWsearch 4.8.0 - 2020-04-20 - sent to CRAN
==========================================
- v-4.7.8 with a new version number


RWsearch 4.7.8 - 2020-04-20
===========================
- DESCRIPTION -> 'explore' replaces the mis-spelled word 'exlore'
- p_down() in examples: dir <- file.path(tempdir(), ...) ; list.files() to pass CRAN check --run-donttest
- f_pdf(..., dir = tempdir()) is not feasible as going back to the current directory is impossible
- f_pdf() in examples: if (FALSE) used to by-pass CRAN check (and donttest{} removed)
- zcrandb.rda, ztvdb.rda, zCRAN-archive.html refreshed to CRAN at 2020-04-19
- new aabb/zcheck_results.rds -> a small checkdb in .GlobalEnv
- zcrandb.rda, zcheck_results.rds -> UTF-8 characters changed to ASCII
- checkdb.R: example added
- tvdb.R: examples rewritten. The large crandb file is not downloaded anymore
- s_tvdb.R in examples: line tvdb_dfr() added
- s_sos.R: example simplified
- s_hs.R: example removed as it digs to deep in the computer and takes too much time
- s_scrandb_tvb.R: example simplified
- p_text2pdf.R in examples: remove the slow p_text(rmd) example (and copy it in W165*.R)
- p_text2pdf.R, p_table2pdf.R in examples: dir <- file.path(tempdir(), "ptext/ppdf")
- p_html.R in examples: p_html(RWsearch) replaces p_html(pacman)
- p_graph.R: examples rewritten with (RWsearch, visNetwork) et (actuar, fitdistrplus)
- p_down.R in examples: system.time(p_down(lst, ...)). 32 files in 27 seconds
- p_display.R in examples:  p_display(RWsearch, ..., brew, dir = tempdir())
- p_deps.R: examples rewritten with (RWsearch, visNetwork) et (actuar, fitdistrplus)
- p_check.R in examples: p_checkdeps_lst(igraph,...) and RWsearch replaces pacman
- p_archive.R in examples: brew replaces pacman
- f_args.R in examples: brew complements sos
- e_check.R in examples: christophe.dutang replaces francois.michonneau
- crandb.R: last example rearranged
- archivedb.R: last example rewritten with 2 histograms


RWsearch 4.7.7 - 2020-04-15
===========================
- h_yahoofin() -> add '/' in the address (bug)
- p_vers()
- Shift to R 4.0.0 beta for R CMD build/check/INSTALL and use --run-donttest
- a_intro.R: archivedb_load(system.file("aabb", ...)) -> "aabb" replaces "zarchive" (bug)
- h_Rnews(), h_Rversions() rewritten with separate repos and *.html (and no more Zurich repo)
- p_down.R, p_archive.R: parameter 'before' -> canonical form CRAN.R-project rather than cloud.r-project
- h_R.R in examples: h_crantv(repos = "https://cloud.r-project.org") replaces h_cranbydate() (forgot repos = bug)
- p_check.R in examples: crandb_load(..., zcrandb) replaces crandb_load(..., crandb) (forgot minifile = bug)
- p_down.R in examples: targz_down() replaces targz_downarch() which does not exist (bug)


RWsearch 4.7.6 - 2020-03-23
===========================
- p_inun(), p_inun_crandb() simplified -> Intermediate lst and return() removed
- p_graphF(), p_graphS() accept list of packages and open html pages as per the list


RWsearch 4.7.5 - 2020-03-20
===========================
- p_check_lst() -> gsub() pour Tinstall -> T_install, Tcheck -> T_check, Ttotal -> T_total
- New file checkdb.R
- checkdb_down(), checkdb_load()
- p_check_lst() now requires checkdb preloaded if number_of(pkgs) > npkgs. Much faster
- p_checkdeps_lst() exclpkgs are now reported in p_check_lst()


RWsearch 4.7.4 - 2020-03-08
===========================
- crandb_down(method = "libcurl"). Before was default
- p_archive() moved to new file p_archive.R
- p_archive_lst()
- l_targz()
- p_downarch() moved from file archivedb.R to file p_down.R
- p_downarch(option = "before")
- Before, only the version cited at the last line was downloaded (not necessary the last version = bug)
- targz_down()


RWsearch 4.7.2 - 2020-02-21
===========================
- crandb_down(method = "libcurl"). Before was default
- DESCRIPTION -> rewrite the Description section
- file n_graph.R renamed p_graph.R
- p_network() moved from file p_deps.R to file p_graph.R
- p_graphF()
- p_graphS()
- Corresponding documentation rewritten


RWsearch 4.7.1 - 2020-02-17
===========================
- Suppress the verbose option in p_deps(), p_depsrev(), p_deps_inpkgs(), p_deps_unpkgs(), p_deps_inun()
- new file p_check.R
- p_check() and p_check_lst() moved from file p_html.R to file p_check.R
- Messages in p_check() (unknown date, does not exist) added to p_check_lst()
- p_checkdeps()
- p_checkdeps_lst()
- p_deps_count()


RWsearch 4.7.0 - 2020-02-14 - sent to CRAN
==========================================
- v-4.6.9 with a new version number


RWsearch 4.6.9 - 2020-02-14
===========================
- p_network(recursive = TRUE) new argument.
- recursive = FALSE reduces the size of the network when reverse = TRUE
- h_etz()
- h_cranchecks()
- p_check(substr(subdate, 1, 4), "/") -> add the year directory to archived packages (CRAN novelty)
- p_check_lst() -> print as a list, not in the browser
- cloud.r-project.org replaces cran.univ-paris1.fr which has been discontinued


RWsearch 4.6.8 - 2020-01-11
===========================
- hexagonal logo stored in man/figures/logo.png and used in
- README.md with logo and video about RWsearch at useR! 2019 in Toulouse
- h_doi()
- h_Rnews()
- h_Rversions()
- New version number to fix the date and the version. vignettes updated


RWsearch 4.6.6 - 2019-11-23
===========================
- h_biocstats()
- h_crancheckwindows()
- tryconurl() -> hidden function
- p_check() displays the check results of regular packages AND packages moved to CRAN archive
- archivedb_rempkgs() -> Documentation updated with a reference to p_check(). Example added
- archivedb_down() and trydownloadurl() updated with tryconurl()
- p_downh() -> grep("ReadMe",..., invert = TRUE)
- p_texth() -> grep("ReadMe",..., invert = TRUE)


RWsearch 4.6.5 - 2019-11-14
===========================
- p_texth() rewritten. It now extracts readme, news, vignette from index.html
- p_downh() rewritten. It now extracts readme, news, vignette from index.html
- trydownloadurl() now returns invisible 0 and invisible 1 as per utils::download.file() (before was NULL)
- trydownloadurl() is vectorized
- p_deps_inun(), p_inun() -> text rewritten
- DESCRIPTION -> suggests xfun


RWsearch 4.6.4 - 2019-11-11
===========================
- p_deps_unpkgs(), p_deps_inpkgs(), p_deps_inun() return the dependencies installed
- or not installed in the computer, available or not available in current CRAN (crandb).
- p_down(binary = FALSE, type = "binary") downloads Mac OSX and Windows binaries
- New example in cnscinfun()


RWsearch 4.6.3 - 2019-11-05
===========================
- cranmirrors_down()
- h_collins()
- h_googletranslate()
- h_interglot()
- h_promt()
- h_systran()
- h_cpan()
- h_ctan()


RWsearch 4.6.2 - 2019-08-19 - in CRAN archive
=============================================
- datalist rewritten as per KH recommendation (zcrandb: crandb  ztvdb: tvdb)


RWsearch 4.6.1 - 2019-08-19
===========================
- h_cranstatus()
- h_orcid()
- h_yahoofin()
- archivedb_list() explicitely returns a (long) list. Before, was invisible(lst).
- \donttest{p_downarch()} (in example)
- datalist: crandb, tvdb rather than zcrandb, ztvdb (request from kh_@_CRAN)


RWsearch 4.6.0 - 2019-05-29 - in CRAN archive
=============================================
- p_incrandb()
- p_inun_crandb() replaces p_inun_cran(). Names in the output list are adjusted accordingly:
- in_incrandb (in_incrandb), in_notincrandb (in_notincrandb), un_incrandb (un_incrandb), un_notincrandb (n_notincrandb)
- p_texth(), table_pdfh() -> file(open = "w+") replaces "wt". "w+" is the default in the documentation
- close_libcurl() -> nc[num] rather than num (bug 'connection does not exist')
- funreadme(), funnews(), funvignettes() -> move close_libcurl() in p_texth()


RWsearch 4.5.9 - 2019-05-21
===========================
- p_network() -> exclpkgs deals with intermediate packages (nodes somewhere in the middle of the graph)
- for both direct and reverse dependencies. Before, NA appeared in the table and n_graphF crashed
- Today, ILB organized a conference for Nicole El Karoui 75 years anniversary
- and Women in Science: https://www.louisbachelier.org/evenement/wise/


RWsearch 4.5.8 - 2019-05-20
===========================
- one single directory (before 3): inst/aabb includes assets, template.brew, zCRAN-archive.html
- e_check() -> names(sapply()) rather than lapply() returns nice urls.
- h_gepuro() -> 67153+ packages listed. See also
- https://github.com/gepuro/rpkg/blob/master/index.html
- https://github.com/gepuro/addin4githubinstall
- p_deps() -> pkgs not in crandb -> warning() rather than stop()
- p_deps() -> lst[pkgs] to keep the order in case of NULL (when pkg is not in crandb)
- p_network() ->  pkgs[!(pkgs %in% exclpkgs)] everywhere
- use package "goodpractice" -> missing end line in archivedb.R -> add 4 lines


RWsearch 4.5.7 - 2019-05-11
===========================
- DESCRIPTION -> Imports networkD3
- p_network()
- n_graphF()
- n_graphS()
- close_libcurl()
- close_libcurl() replaces closeAllConnections() in p_down(), p_text2pdf() -> Much better
- if (closecon) -> suppressed
- p_text(pkgs)  -> much better: all Readme, news, vignettes found, but tempfile is open
- p_text() -> editor() et pager() moved from p_texth() to p_text()


RWsearch 4.5.6 - 2019-05-03
===========================
- p_deps(), p_depsrev() -> c(list.files(.libPaths()), crandb[, "Package"])


RWsearch 4.5.5 - 2019-05-02
===========================
- RStudio substitutes getOption("editor") with its own function, at least in Windows
- p_texth() -> edit(name = NULL) replaces file.edit() to avoid this subtitution
- p_text(), p_table2pdf() -> make.names(nom) replaces next line make.names(filename2)
-   Example: filename 2019-0502-file.txt stays unchanged (before, it became X20190502file.txt)
- p_display(), p_down(), table_pdf(), p_text() -> gsub(".", "_") replaces gsub(".", "")
-   Example: pkg/filename/directory "R.oo" is changed to "R_oo" rather than "Roo"


RWsearch 4.5.4 - 2019-04-30
===========================
- trydownloadurl(), p_downh(in vignettes) -> download code is simplified. TC replaces con
- new files archivedb.R, zCRAN-archive.html and new functions
- archivedb_down(), archivedb_load(), archivedb_npkgs()
- archivedb_pkgs(), archivedb_rempkgs(), archivedb_list()
- p_downarch() + mention in the documentation related to p_down()
- DESCRIPTION -> Imports XML + mention of CRAN archive
- a_intro.R   -> @importFrom XML readHTMLTable


RWsearch 4.5.3 - 2019-04-28
===========================
- p_depsrev() -> p_deps(reverse = TRUE)
- h_arxiv()
- h_arxivpdf()
- h_ssrn()
- h_ssrnauth()
- crandb_comp() -> odfile more recent than oldfile -> warning rather than stop


RWsearch 4.5.2 - 2019-04-17
===========================
- crandb_down(bydate, rev) -> new arguments bydate and rev.
- h_evene()
- h_yacy()
- p_deps() -> a wrapper of tools::package_dependencies()


RWsearch 4.5.1 - 2019-03-30
===========================
- crandb_down() -> save(compress = "xz", compression_level = 6). Gain over gzip is 45 %
- zcrandb.rda -> accents on names are removed. 7 UTF-8 glyphs are transformed to pure ASCII
- s_tvdb()
- h_ecosia() -> Ecosia rather than DuckDuckGo


RWsearch 4.5 - 2019-03-27 - in CRAN archive
===========================================
- page h_ttp.R split in 3 pages as in the vignette: h_direct.R, h_R.R, h_ttp.R
- typo in h_ttp() example
- h_academie()
- spurious UTF-8 characters are removed
- File dates are set to a commonvalue
- Submitted to CRAN


RWsearch 4.4.3 - 2019-03-23
===========================
- p_text(README = TRUE, NEWS = TRUE, vignettes = TRUE) reset to TRUE (when set to FALSE ?)
- funreadme(), funnews(), funvignettes() -> tryCatch(condition = ) replaces try(silent = )
- funreadme(), funnews(), funvignettes() + tryCatch() -> options("warn" = 0) (before suppression)
- funreadme(), funnews(), funvignettes() -> (method = libcurl)
- p_text() -> capabilities("libcurl")
- p_text(closecon), p_text2md(closecon), p_text2tex(closecon), p_text2pdf(closecon)
- closecon => Close all unused-ghost connections (README, NEWS) but also the used ones (unfortunately)
- DESCRIPTION -> latexpdf replaces latexpdf (>= 0.1.5) since a warning is issued if older version


RWsearch 4.4 - 2019-03-17
=========================
- Back to tvdb_pkgs(gR, Genetics) in tvdb examples
- NEWS RWsearch replaces Cherche
- Submitted to CRAN but fails (spurious UTF-8 characters)


RWsearch 4.3.6 - 2019-03-17
===========================
- .htmltable() -> normalizePath to print the html file address
- p_display(verbose), p_display5(verbose), p_display7(verbose), .htmltable(verbose)
- p_display() -> loop replaces mapply
- tvdb_pkgs(Genetics) replaces tvdb_pkgs(gR, Genetics) in tvdb examples


RWsearch 4.3.5 - 2019-03-17
===========================
- All examples in the documentation include dir = file.path(tempdir(), "subdir")
- p_table2pdf(cleantex), table_pdfh(cleantex)
- table_pdfh() -> gsub(".tex", ".pdf", filename, fixed = TRUE)
- p_text2pdf() -> gsub(".tex", ".pdf", filename, fixed = TRUE)
- crandb_down(dir = tempdir(), repos = "https://cran.univ-paris1.fr") in examples
  crandb.R and tvdb.R
- s_sos(try(sos::finFn())
- Examples in zcrandb.rda and ztvdb.rda
- dir = tempdir() in p_display() p_display5() and p_display7() examples


RWsearch 4.3.4 - 2019-03-16
===========================
- 4.3.0 CRAN censors request an argument (dir = ...) for all functions that write on disk
- All *.R files renamed
- Commented examples are suppressed
- DESCRIPTION -> Language: en-GB used by package 'spelling'
- 4.3.1 (dir = ".") in crandb_down(), tvdb_down(), p_down(), p_down0()
- 4.3.2 (dir = ".") in p_pdf(), table_pdf(), p_table2pdf()
- p_html -> writepkg2pdf(), openpdffile()
- 4.3.3 (dir = ".") in p_text2pdf(), p_text2md(), p_text2pdf(). New p_text2tex()
- logical replaces boolean
- 4.3.4 p_text2pdf(setwd(dir2)) for pdf generation


RWsearch 4.2.1 - 2019-03-08
===========================
- 4.2.1 sent to CRAN. Three dices but not accepted.
- CRAN says too many \dontrun
- 4.2.3 \dontrun and \donttest optimal. --run-donttest is successfull
- 4.2.4 \donttest{} everywhere. --run-donttest crashes. Sent to CRAN
- 4.2.4 CRAN censors request an argument (dir = ...) for all functions that write on disk


RWsearch 4.1.11 - 2019-03-07
============================
- Windows + Debian
- 4.1.8 Debian Many corrections in the examples to cope with the check under Debian
- 4.1.9 Back on Windows => OK
- 4.2 sent to CRAN. NOTE on examples 10-60" => \donttest{} is recommanded
- 4.1.10 Windows \donttest{} rather than \dontrun{} to get meaningful example()
- p_text2pdf() 43" but --run-donttest crashes (vim).
- 4.1.11 Windows \donttest{} rather than \dontrun{} to get meaningful example()
- no example > 5" but --run-donttest crashes (vim).
- 4.1.12 Debian
- 4.1.14 Debian. \dontrun{} everywhere.


RWsearch 4.1.4 - 2019-03-04
===========================
- New computer with Debian. OK in user mode without Texlive (not yet installed)
- Explains well that xdg-open/firefox is not allowed in super-user mode (which is used
  by CRAN to check packages)
- explains well all previous failures from v4.0 (except p_down())
- \dontrun{} rather than ==don't run in the examples should effectively by-pass the
  calls to the browser


RWsearch 4.1.3 - 2019-03-04
===========================
- s_sos() example desactivated
- CRAN has returned 2 NOTES on Debian and 3 NOTES on Windows.


RWsearch 4.1.2 - 2019-03-04
===========================
- ERROR on Debian in s_sos()
- /usr/bin/xdg-open: 870: /usr/bin/xdg-open: konqueror: not found
- Error in file(file, if (append) "a" else "w") :
-   all connections are in use
- Calls: <Anonymous> ... print.findFn -> <Anonymous> -> brew.cached -> sink -> file
- Execution halted
- It seems that CRAN Debian computer has no defined browser
- and the numerous tries to find one crash it.


RWsearch 4.1.1 - 2019-03-04
===========================
- trydownloadurl() => open = "rb" hard-coded inside the function
- gsub(".", "", make.names(word), fixed = TRUE) added in functions:
- table_pdf(), p_text(list=)
- p_text(), p_display() => stop ("pkgs is a list with no names.") as in p_down()
- p_display() => names(pkgs) <- gsub(".", "", make.names(names(pkgs)), fixed = TRUE)


RWsearch 4.1 - 2019-03-03 - sent to CRAN
========================================
- ERROR on Debian in table_pdf()


RWsearch 4.0.7 - 2019-03-03=
==========================
- p_down() entirely rewritten. Uses home-made trydownloadurl()
- trydownloadurl(open = "r", method = "libcurl")
- (open = "") creates real connections for non-existing links and is very bad!
- (open = "r")  for most files
- (open = "rb") for "rb" for .gz, .bz2, .xz, .tgz, .zip, .rda, .rds, .RData
- (method = "default") creates real connections for non-existing links. libcurl is ok


RWsearch 4.0.6 - 2019-03-02
===========================
- ERROR on Debian in p_down()
- p_down() => gsub(".", "", make.names(mot), fixed = TRUE)
- example in intro: s_crandb_list(thermodynamic, "chemical reaction", "gas")
- example in p_down(): s_crandb_list(searchr, probability)


RWsearch 4.0.5 - 2019-03-01
===========================
- ERROR on Debian in p_down()
- p_down() => create directories with no space (and point is replaced by _)
- gsub(".", "_", gsub(" ", "", mot), fixed = TRUE)
- and only if it does not exist already
- if (!dir.exists(path)) dir.create(path)
- f_pdf() => shorter example
- s_crandb_tvdb() => p_display7(lst[c("inTV", "notinTV")]) in example
- protect many http examples to reduce call to the web at CRAN check


RWsearch 4.0 - 2019-03-01 - sent to CRAN
========================================
- ERROR on Debian -> p_down() generates too many connections
- all search engines generate xdg-open errors. Here h_so()
- /usr/bin/xdg-open: 870: /usr/bin/xdg-open: w3m: not found
- and similar lines for: konqueror, chromium, chromium-browser, google-chrome, firefox,
- x-www-browser, www-browser, firefox, links2, iceweasel, elinks, lynx, w3m, seamonkey
- xdg-open: no method available for opening 'https://stackoverflow.com/search?q=R+deep+neural+network'
- /usr/bin/xdg-open: 870: /usr/bin/xdg-open: mozilla: not found
- /usr/bin/xdg-open: 870: /usr/bin/xdg-open: epiphany: not found
- and similar lines for: konqueror, chromium, chromium-browser, google-chrome, firefox,
- x-www-browser, www-browser, firefox, links2, iceweasel, elinks, lynx, w3m, seamonkey

RWsearch 3.8.1 - 2019-03-01
===========================
- h_nabble, h_rbloggers, h_rdoc, h_rdoctv, h_rdrr, h_rseek
- moved from h_engine to h_ttp to put all R related links together
- DESCRIPTION => Date corrected


RWsearch 3.8 - 2019-03-01
=========================
- Check before release


RWsearch 3.7 - 2019-02-27
=========================
- Vignette 4
- fme(), fbr() => "words" replaces "mots"
- h_framasoft() + h_framasoft0()
- h_lexilogos() replaces h_lexi()


RWsearch 3.6 - 2019-02-27
=========================
- Vignettes 1, 2, 3


RWsearch 3.5 - 2019-02-22
=========================
- Welcome to RWsearch!
- RWsearch is the new name of this package. Meaning is: Search in R and in the Web.
- The former name was 'Cherche' (Search in French), never publicly released
- Previous NEWS related to 'Cherche' are deleted to avoid any conflict with the version numbers
- Some examples are simplified
- h_cranbydate(), h_cranbyname()


