Revert "perl: simplify code to load scripts"

This reverts commit 793a3cb1bad053ac3366cc34775dbc9b1e9ffb8a.

This commit was causing crash on Linux when loading scripts like buffers.pl.
Merge branch 'master' of git://git.sv.gnu.org/weechat
core: add bug #31572 (fixed) in ChangeLog
Merge branch 'master' of git://git.sv.gnu.org/weechat
doc: fix buffer argument for function "command": NULL value means current buffer, not core buffer (bug #38057)
core: replace "behaviour" by "behavior"
core: fix some copyright dates
aspell: store dictionaries in buffer local variable "aspell_dict"
relay: fix name of signal in debug message (replace "irc_out" by "irc_outtags")
relay: add debug message for signal "irc_disconnected"
relay: fix typo in comment
relay: fix duplicated messages sent to irc clients (when messages are redirected) (bug #37870)
Merge branch 'master' of git://git.sv.gnu.org/weechat
Revert "aspell: store dictionaries in buffer local variable "aspell_dict""

This reverts commit 8b61a557640e62e67f6eb7349c3a12cca9b43b5e.

The local variable in buffers introduced new display bugs and would need
some extra code and optimizations to fix.
This will be reintroduced after the release of version 0.4.0.
aspell: fix spellers used when switching buffer

The bug happened when two buffers have different number of dictionaries and start
with same dictionaries. For example buffer #1 with [en,fr] and buffer #2 with [en].
When switching from buffer #1 to buffer #2, aspell does not use only [en], but [en,fr].
core: fix line returned when clicking on a bar (according to position and filling) (bug #38069)
core: fix typo in comment
Merge branch 'master' of git://git.sv.gnu.org/weechat
guile: fix bad conversion of shared strings (replace calls to scm_i_string_chars by scm_to_locale_string) (bug #38067)
core: fix crash in display of chat area when the ncurses chat window is not initialized

This can happen when a window becomes too small for display: then we set the
ncurses chat window to NULL.
So when displaying buffer, we'll skip it if the ncurses chat window is NULL.

Steps to reproduce crash:
  1. /window splith
  2. /window resize -1 (many times, until chat area is less than one line)
  3. /window balance