* [PATCH 0/6] various cleanups around use/require
@ 2020-01-05 23:23 7% Eric Wong
2020-01-05 23:23 6% ` [PATCH 1/6] hval: export prurl and add prototype Eric Wong
0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2020-01-05 23:23 UTC (permalink / raw)
To: meta
We've accumulated some cruft over the years. Lets get rid of
some of it and find places where we can help Perl figure more
stuff out at compile-time rather than run-time.
Eric Wong (6):
hval: export prurl and add prototype
view: update POSIX::strftime usage
altid: use msgmap at compile time
admin: do not lazy-load Inbox or Config packages
treewide: "require" + "use" cleanup and docs
syscall: modernize away from pre-Perl-5.6 conventions
Makefile.PL | 2 +-
lib/PublicInbox/Admin.pm | 4 ++--
lib/PublicInbox/AltId.pm | 3 +--
lib/PublicInbox/Config.pm | 2 +-
lib/PublicInbox/DS.pm | 5 ++---
lib/PublicInbox/Daemon.pm | 2 +-
lib/PublicInbox/Emergency.pm | 2 +-
lib/PublicInbox/ExtMsg.pm | 5 ++---
lib/PublicInbox/Filter/RubyLang.pm | 1 -
lib/PublicInbox/Git.pm | 2 +-
lib/PublicInbox/GitHTTPBackend.pm | 2 +-
lib/PublicInbox/HTTP.pm | 3 ++-
lib/PublicInbox/HTTPD.pm | 4 ++--
lib/PublicInbox/Hval.pm | 5 +++--
lib/PublicInbox/Import.pm | 2 +-
lib/PublicInbox/Listener.pm | 2 +-
lib/PublicInbox/MboxGz.pm | 1 -
lib/PublicInbox/NNTPD.pm | 2 +-
lib/PublicInbox/NewsWWW.pm | 3 ++-
lib/PublicInbox/Search.pm | 2 --
lib/PublicInbox/SearchIdx.pm | 2 +-
lib/PublicInbox/SearchView.pm | 6 +----
lib/PublicInbox/SolverGit.pm | 2 +-
lib/PublicInbox/Spawn.pm | 1 -
lib/PublicInbox/Syscall.pm | 35 ++++++++++++++----------------
lib/PublicInbox/TLS.pm | 2 --
lib/PublicInbox/Tmpfile.pm | 2 +-
lib/PublicInbox/V2Writable.pm | 2 +-
lib/PublicInbox/View.pm | 17 +++++++--------
lib/PublicInbox/ViewDiff.pm | 2 +-
lib/PublicInbox/WatchMaildir.pm | 2 +-
lib/PublicInbox/WwwAtomStream.pm | 2 +-
lib/PublicInbox/WwwListing.pm | 6 ++---
lib/PublicInbox/WwwStream.pm | 4 ++--
lib/PublicInbox/Xapcmd.pm | 2 +-
script/public-inbox-convert | 2 --
script/public-inbox-edit | 8 +++----
script/public-inbox-init | 4 ++--
script/public-inbox-nntpd | 4 ++--
t/cgi.t | 2 --
t/feed.t | 2 --
41 files changed, 71 insertions(+), 92 deletions(-)
^ permalink raw reply [relevance 7%]
* [PATCH 1/6] hval: export prurl and add prototype
2020-01-05 23:23 7% [PATCH 0/6] various cleanups around use/require Eric Wong
@ 2020-01-05 23:23 6% ` Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2020-01-05 23:23 UTC (permalink / raw)
To: meta
This allows to do some compile-time checking and fills in a
missing "use" in PublicInbox::NewsWWW, allowing it to be used
standalone and independently of PublicInbox::WWW
---
lib/PublicInbox/ExtMsg.pm | 4 ++--
lib/PublicInbox/Hval.pm | 5 +++--
lib/PublicInbox/NewsWWW.pm | 3 ++-
lib/PublicInbox/View.pm | 4 ++--
lib/PublicInbox/WwwListing.pm | 6 +++---
lib/PublicInbox/WwwStream.pm | 4 ++--
6 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/lib/PublicInbox/ExtMsg.pm b/lib/PublicInbox/ExtMsg.pm
index 0f3e392d..549e4495 100644
--- a/lib/PublicInbox/ExtMsg.pm
+++ b/lib/PublicInbox/ExtMsg.pm
@@ -8,7 +8,7 @@
package PublicInbox::ExtMsg;
use strict;
use warnings;
-use PublicInbox::Hval qw/ascii_html/;
+use PublicInbox::Hval qw(ascii_html prurl);
use PublicInbox::MID qw/mid2path/;
use PublicInbox::WwwStream;
our $MIN_PARTIAL_LEN = 16;
@@ -172,7 +172,7 @@ sub ext_urls {
my $env = $ctx->{env};
my $e = "\nPerhaps try an external site:\n\n";
foreach my $url (@EXT_URL) {
- my $u = PublicInbox::Hval::prurl($env, $url);
+ my $u = prurl($env, $url);
my $r = sprintf($u, $href);
my $t = sprintf($u, $html);
$e .= qq{<a\nhref="$r">$t</a>\n};
diff --git a/lib/PublicInbox/Hval.pm b/lib/PublicInbox/Hval.pm
index cd3a4df3..7e007027 100644
--- a/lib/PublicInbox/Hval.pm
+++ b/lib/PublicInbox/Hval.pm
@@ -10,7 +10,7 @@ use Encode qw(find_encoding);
use PublicInbox::MID qw/mid_clean mid_escape/;
use base qw/Exporter/;
our @EXPORT_OK = qw/ascii_html obfuscate_addrs to_filename src_escape
- to_attr from_attr/;
+ to_attr from_attr prurl/;
my $enc_ascii = find_encoding('us-ascii');
# safe-ish acceptable filename pattern for portability
@@ -84,7 +84,8 @@ sub raw {
}
}
-sub prurl {
+# returns a protocol-relative URL string
+sub prurl ($$) {
my ($env, $u) = @_;
if (ref($u) eq 'ARRAY') {
my $h = $env->{HTTP_HOST} // $env->{SERVER_NAME};
diff --git a/lib/PublicInbox/NewsWWW.pm b/lib/PublicInbox/NewsWWW.pm
index ee11a089..be1d43ef 100644
--- a/lib/PublicInbox/NewsWWW.pm
+++ b/lib/PublicInbox/NewsWWW.pm
@@ -10,6 +10,7 @@ use strict;
use warnings;
use PublicInbox::Config;
use PublicInbox::MID qw(mid_escape);
+use PublicInbox::Hval qw(prurl);
sub new {
my ($class, $pi_config) = @_;
@@ -48,7 +49,7 @@ sub call {
my ($ng, $article) = @parts;
my $pi_config = $self->{pi_config};
if (my $ibx = $pi_config->lookup_newsgroup($ng)) {
- my $url = PublicInbox::Hval::prurl($env, $ibx->{url});
+ my $url = prurl($env, $ibx->{url});
my $code = 301;
if (defined $article && $article =~ /\A[0-9]+\z/) {
my $mid = eval { $ibx->mm->mid_for($article) };
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index c38a1289..0d6f3351 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -8,7 +8,7 @@ use strict;
use warnings;
use bytes (); # only for bytes::length
use PublicInbox::MsgTime qw(msg_datestamp);
-use PublicInbox::Hval qw/ascii_html obfuscate_addrs/;
+use PublicInbox::Hval qw(ascii_html obfuscate_addrs prurl);
use PublicInbox::Linkify;
use PublicInbox::MID qw/id_compress mid_escape mids mids_for_index references/;
use PublicInbox::MsgIter;
@@ -122,7 +122,7 @@ sub msg_reply {
my $info = '';
my $ibx = $ctx->{-inbox};
if (my $url = $ibx->{infourl}) {
- $url = PublicInbox::Hval::prurl($ctx->{env}, $url);
+ $url = prurl($ctx->{env}, $url);
$info = qq(\n List information: <a\nhref="$url">$url</a>\n);
}
diff --git a/lib/PublicInbox/WwwListing.pm b/lib/PublicInbox/WwwListing.pm
index 4f076b7d..a52dba11 100644
--- a/lib/PublicInbox/WwwListing.pm
+++ b/lib/PublicInbox/WwwListing.pm
@@ -6,7 +6,7 @@
package PublicInbox::WwwListing;
use strict;
use warnings;
-use PublicInbox::Hval qw(ascii_html);
+use PublicInbox::Hval qw(ascii_html prurl);
use PublicInbox::Linkify;
use PublicInbox::View;
use PublicInbox::Inbox;
@@ -84,13 +84,13 @@ sub new {
sub ibx_entry {
my ($mtime, $ibx, $env) = @_;
my $ts = PublicInbox::View::fmt_ts($mtime);
- my $url = PublicInbox::Hval::prurl($env, $ibx->{url});
+ my $url = prurl($env, $ibx->{url});
my $tmp = <<"";
* $ts - $url
${\$ibx->description}
if (defined(my $info_url = $ibx->{infourl})) {
- $tmp .= ' ' . PublicInbox::Hval::prurl($env, $info_url) . "\n";
+ $tmp .= ' ' . prurl($env, $info_url) . "\n";
}
$tmp;
}
diff --git a/lib/PublicInbox/WwwStream.pm b/lib/PublicInbox/WwwStream.pm
index 0f4f55d0..8f5a6526 100644
--- a/lib/PublicInbox/WwwStream.pm
+++ b/lib/PublicInbox/WwwStream.pm
@@ -9,7 +9,7 @@
package PublicInbox::WwwStream;
use strict;
use warnings;
-use PublicInbox::Hval qw(ascii_html);
+use PublicInbox::Hval qw(ascii_html prurl);
our $TOR_URL = 'https://www.torproject.org/';
our $CODE_URL = 'https://public-inbox.org/public-inbox.git';
@@ -78,7 +78,7 @@ sub _html_top ($) {
sub code_footer ($) {
my ($env) = @_;
- my $u = PublicInbox::Hval::prurl($env, $CODE_URL);
+ my $u = prurl($env, $CODE_URL);
qq(AGPL code for this site: git clone <a\nhref="$u">$u</a>)
}
^ permalink raw reply related [relevance 6%]
Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2020-01-05 23:23 7% [PATCH 0/6] various cleanups around use/require Eric Wong
2020-01-05 23:23 6% ` [PATCH 1/6] hval: export prurl and add prototype Eric Wong
Code repositories for project(s) associated with this public inbox
https://80x24.org/public-inbox.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).