- Install preferences file as sample and annotate accordingly

- Teach the code to expand tilde (~) to $(HOME) to prevent
  spamming every current directory with `.apl.history' file
- Fix some minor C[XX]FLAGS pollution while I'm here
This commit is contained in:
danfe
2019-07-04 11:18:42 +00:00
parent b140448439
commit 8e9aecd386
4 changed files with 55 additions and 1 deletions
+9
View File
@@ -3,6 +3,7 @@
PORTNAME= apl
PORTVERSION= 1.8
PORTREVISION= 1
CATEGORIES= lang
MASTER_SITES= GNU
PKGNAMEPREFIX= gnu-
@@ -46,10 +47,18 @@ post-patch:
${WRKSRC}/src/emacs_mode/UnixSocketListener.cc
@${REINPLACE_CMD} -e 's,POLLRDHUP,POLLHUP,' \
${WRKSRC}/src/Quad_GTK.cc
# Prevent needless C[XX]FLAGS pollution
@${REINPLACE_CMD} -e 's,-g -O. ,,' \
${WRKSRC}/src/APs/Makefile.in \
${WRKSRC}/src/native/Makefile.in
# Fixes below are for GCC-based builds
@${REINPLACE_CMD} -e '28s,^,#include <cstring>,' \
${WRKSRC}/src/Error.hh
@${REINPLACE_CMD} -E '/(total|used)_memory/s,uint64_t,int64_t,' \
${WRKSRC}/src/Quad_WA.?? ${WRKSRC}/src/Value.cc
post-install:
@${MV} ${STAGEDIR}${PREFIX}/etc/gnu-apl.d/preferences \
${STAGEDIR}${PREFIX}/etc/gnu-apl.d/preferences.sample
.include <bsd.port.mk>
@@ -0,0 +1,16 @@
--- gnu-apl.d/preferences.in.orig 2019-06-23 12:39:20 UTC
+++ gnu-apl.d/preferences.in
@@ -301,10 +301,11 @@
# execution mode and ∇-edit mode.
#
# Below the number of history lines and the location of the history file
-# can be configured.
+# can be configured. If the file path starts with "~/", tilde (~) would
+# be expanded to the value of the 'HOME' environment variable.
#
READLINE_HISTORY_LEN 500
-READLINE_HISTORY_PATH .apl.history
+READLINE_HISTORY_PATH ~/.apl.history
# The history can serve two purposes: to recall lines that were previously
# and to list what was done (with command )HISTORY). For the latter purpose
@@ -0,0 +1,29 @@
--- src/UserPreferences.cc.orig 2019-06-23 12:39:20 UTC
+++ src/UserPreferences.cc
@@ -1299,7 +1299,25 @@ int file_profile = 0; // the current profile in the
}
else if (!strcasecmp(opt, "READLINE_HISTORY_PATH"))
{
- line_history_path = UTF8_string(arg);
+ // If 'arg' starts with "~/", expand ~ -> $HOME
+ if (arg[0] == '~' && arg[1] == '/')
+ {
+ const char * HOME = getenv("HOME");
+ if (HOME == 0)
+ {
+ if (log_startup)
+ CERR << "environment variable 'HOME' is not "
+ "defined for '~' expansion, will use "
+ << (arg + 2) << endl;
+ line_history_path = UTF8_string(arg + 2);
+ }
+ else
+ {
+ line_history_path = UTF8_string(HOME);
+ line_history_path.append_ASCII(arg + 1);
+ }
+ }
+ else line_history_path = UTF8_string(arg);
}
else if (!strcasecmp(opt, "NABLA-TO-HISTORY"))
{
+1 -1
View File
@@ -5,7 +5,7 @@ bin/APserver
%%GTK3%%bin/Gtk_server
etc/gnu-apl.d/keyboard1.txt
etc/gnu-apl.d/parallel_thresholds
etc/gnu-apl.d/preferences
@sample etc/gnu-apl.d/preferences.sample
%%LIBAPL%%include/apl/libapl.h
%%LIBAPL%%lib/apl/libapl.a
%%LIBAPL%%lib/apl/libapl.so