Giter VIP home page Giter VIP logo

tinyfugue's Introduction

Unicode notes:
  "Release" is the branch you want.
  On Debian or Ubuntu, make sure you apt-get libicu-dev before running
  ./configure.
  There is a known and easily triggered bug: The backspace, delete, and
  arrow keys move by bytes, not by characters. For now, editing a line
  with multibyte characters will send XML hexadecimal escape codes
  if unencodeable bytes are in the input box.
  I will gladly accept pull requests.

  Setting your terminal to send ^H instead of ^? for backspace mitigates
  some, but not all of the backspace issues.

  For servers that don't negotiate charsets, /set default_charset=NAME
  before defining a world with /addworld or /test addworld(). I recommend
  putting /set default_charset=Latin-1 at the top of your worlds.tf.

======

  TinyFugue is Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2003, 2004, 2005, 2006-2007 Ken Keys.

=======

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA

=======


                       INSTALLING TINYFUGUE

TinyFugue can be installed and run on UNIX-like systems, Mac OS X,
and Win32.  For instructions, see the README file in the appropriate
directory.  For information on unofficial versions of TF for other
operating systems, see the TF web page at http://tinyfugue.sourceforge.net/.


"Make" options
--------------

Options are not available on all systems.  To use an option, give it as
an argument to the installation program (e.g., "make clean").

 all		Compile, but do not install (the "install" option should be
			run later to install the files).
 install	Compile (if you haven't already) and install.  The default
			installation locations depend on the operating system.
 clean		Remove object files and other junk from source directory.
 uninstall	Remove tf executable, help files, and library from their
			installed locations.


Public Installation
-------------------

Some features of TF can be disabled for secure public installation, by
using one of these /restrict commands in %{TFLIBDIR}/local.tf:

    /restrict SHELL  Prevents all access to shell or external commands.
                     Disables TF builtins "/sh" and "/quote !", and
                     uncompression during /load and /help.

    /restrict FILE   Prevents reading and writing of files.  Disables
                     TF builtins "/load", "/save", "/saveworld", "/log",
                     and "/quote '", and sockmload feature.
                     Implies /restrict shell.

    /restrict WORLD  Prevents the user from defining new worlds and
                     connecting to undefined worlds.  TF builtins
                     /addworld and the "/world <host> <port>" semantics
                     are disabled.  Implies /restrict file.


Terminal Handling
-----------------

If the default terminal handling option does not work, tf can be
configured to use vt100 codes or nothing at all.  See the README
file in the subdirectory corresponding to your operating system.


Compression
-----------

If you are short on disk space, you can compress the helpfile and
library files (except stdlib.tf).  Make sure the COMPRESS_SUFFIX
and COMPRESS_READ macros are set correctly; set them in the
%{TFLIBDIR}/local.tf file if needed.  Note that compresion can not
be used if /restrict is used.


Firewalls
---------

TF can be made to connect through a generic proxy server by setting
the %proxy_host variable at runtime.  See "/help proxy".

Also see the README file in the subdirectory corresponding to your
operating system to see if tf has transparent firewall support on your
system.


Last Resort
-----------

If you have an installation problem or other system-specific problem
that is not described in this README or the README in the subdirectory
for your system, contact the person who supports TF on your system.  If
you have a problem that is not system-related, ask for support on
http://tinyfugue.sourceforge.net/ or contact the author by email at
[email protected].  Please provide the following information:

    The version of TF (type "/version" in tf).
    The operating system version (on unix, type "uname -a" in the shell).
    If tf won't compile, send the output of configure and make (in plaintext
        form, please).
    If you have a bug or core, give ALL error messages from tf.
    If you have a bug or core, describe what you did or what happened
        before the problem, and if the problem is repeatable.
    If you have a core file, do NOT send it.


Porting
-------

I have no personal interest in Mac OS 9, DOS, Windows 95, Windows NT, or
Amiga, so I don't plan on porting to them.  However, I am willing to
work with someone who wants to try and is willing to follow my
guidelines.  Basically, this means keeping the platform-specific code
seperate and to a minimum, and not adding new features.

tinyfugue's People

Contributors

aiviru avatar japanoise avatar kruton avatar rkitover avatar sketch avatar warmstarter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tinyfugue's Issues

Contact

Not sure how to make private communications via github. I tried to reach out via your website, but your contact page doesn't work, at least not in the latest ChromeOS. Captcha seemed to work, but when I go to send, nothing happens.

Didn't have anything in particular to say, just wanted to reach out and give you a way to contact me if need be, as I'll probably be submitting more pull requests in the future.

Issue with unicode and backspace

Hi,

Another issue i've come across.

Image at: http://imgur.com/gN09q

The first time I typed '.bigg test' was what made the talker talk to myself.

The second time I typed '.bigg £test'

This caused some issues with the talker, but as you can see from the third line, my history suggests that my input contained an unprintable character. This suggests to me that backspace over unicode characters isn't quite working as expected? The character is being removed from the screen, but perhaps some of the bytes of the character still exist in the input?

Thanks

Color Crash Bug

Found an easy way to crash TinyFugue.

This would be a pretty standard way to set colors in my status bar:

/set vw_tablist_fg_world_attrs=@{Cyellow,Cbgrgb001}

But if I just set it to a non-existent color:

/set vw_tablist_fg_world_attrs=@{Ctestyellow,Cbgrgb001}

And then change my fgworld to trigger the color change in the status bar, TF dumps core. Presumably similar would happen with any way of setting that invalid color. Looks like colors are just being passed for evaluation rather than sanity checked.

Haven't yet tested if I can get a MUSH to remotely crash TF with this bug, but seems likely.

Tagging @Sketch in case he's not watching here.

History editing non-ASCII characters doesn't work

If I type anything non-ASCII (say '£££') and then press left and right cursor keys, the editing doesn't work correctly, and eventually I start getting weird errors[1] that suggest buffer overflows.

[1]
% The key "shift_right" is undefined; you may use "/def key_shift_right =
" to define it. See "/help keys".

utf8 patch

Check out this branch when you have a chance:

https://github.com/warmstarter/tinyfugue-1/tree/utf8-handler-patch

It's this patch I found here applied to release:

https://sourceforge.net/p/tinyfugue/feature-requests/9/

It definitely show not be going into release, and in one test it actually added slight problems to the UTF8. Talking with @Sketch he thought the patch would be useful, if not for the actual code, but for the info on where certain things might go.

See if any inspiration comes.

===================

This line was produced by my MUSH:

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Character Sheet━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓

Copied into a 'release' TF and pasted back this is returned:

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Character Sheet━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓

Seems identical to me, but this is what this patch gives:

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Charan cter Sheet━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━âbe��━┓ se

Those are some odd errors at th end there, as that's a pretty uniform line. I haven't really looked into this too much, just wanted to try it out and get it to the both of you to see if you think there's anything there that can be used.

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Charan cter Sheet━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━âbe��━┓ se

odd behaviour with some unicode characters when switching worlds

Hi,

I've been using this patched version of tf5 for a while on a talker called the dockyard (wooooooooooooooy.com 4000).

You have to switch unicode on using the unicode command, after which, some output displays unicode characters. A good example is the 'testcard' command. The bordered around the output will be a unicode character.

Now, the problem arises... if I display testcard, then switch to another world and back again, some of the unicode characters get all confused. If I page up through some output and then back down again, the characters display fine.

Example images showing what I mean:
http://imgur.com/1jpV6,jHXm6,DwnSg

There's three images to switch betweem, a before, an after_world_switch and an after_page_up_down.

Is this a problem with the code or could it be something else?

hardcode termcap bug

Accidentally got my terminal hardcoded, set to hardcode-vt100 and noticed there's a bug. Initial status line seems to start one space in, which messes up a ton of things. My guess is there's either an off by one error or a slightly mangled ANSI control sequence. Haven't gotten to investigate thoroughly yet, but the earlier versions I checked still had the bug. Doesn't seem like a priority as most people are not going to need hardcode-vt100 terminal encoding, but it could be doing more subtle stuff. Worth fixing eventually, so leaving a note here.

remote crash, reproducible

I can reliably remotely crash this version of TF. There's already one version patched, but I would like to reliably disclose this to you, please tell me how best to contact.

HILITE broken

I just noticed that HILITE/Bold is broken in this build. I went back through and it's broken before I ever got involved. I just tried the last check-in before I got involved, but haven't developed deeper into where it happened.

UTF8 status bar math

Status bar math doesn't take into account UTF8 characters properly.

Easily seen with variable width status entries on the left containing UTF8 characters and fixed width ones on the right, particularly with a background color.

CI check

Can you update the CI check to run autoconf first? Getting these merges done while tracking 'configure' is just going to be a hassle. We shouldn't really be tracking that anyway.

Issue with unicode and extra spaces

When you write something that is past Z it adds an extra space to the input line, if you delete that you end up with random letters removed -- but it sends the string as it should

"Björn köper smör på lördag"
becomes
"Bjö rn kö per smö r på lö rdag"

Incompatible pointer types in src/socket.c

GCC-14 now enables by default errors for long-deprecated C features.
It causes tinyfugue to fail to build with error:

socket.c: In function ‘handle_socket_lines’:
socket.c:2657:27: error: assignment to ‘String *’ from incompatible pointer type ‘conString *’ [-Wincompatible-pointer-types]
 2657 |             incoming_text = line;
      |                           ^

Gentoo bug: https://bugs.gentoo.org/921030

Please consider updating the copyright notices to reflect the new mailing address of the Free Software Foundation

The Free Software Foundation is no longer at 675 Mass Ave, Cambridge, MA.

Our new address is 51 Franklin Street, Suite 500, Boston, MA 02110.

You can confirm this for yourself here: http://www.fsf.org/about/contact/

Please update all references to our old address in your code so people can continue to contact us (we haven't been at the old address for more than a decade at this point)

Kind regards,

matt

Matt Lee
Campaigns Manager
Free Software Foundation

Build Problem with MacOS Catalina (10.15)

Make fails with the following:

gcc -g -O2  -DDATADIR=/Users/xxxxx/Applications/local/share   -c -o macro.o macro.c
macro.c:235:63: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
    startopt(CS(args), "usSp#c#b:B:E:t:w:h:a:f:P:T:FiIn#1m:q" +
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
macro.c:235:63: note: use array indexing to silence this warning
    startopt(CS(args), "usSp#c#b:B:E:t:w:h:a:f:P:T:FiIn#1m:q" +
                                                              ^
                       &                                      [
1 warning generated.
gcc -g -O2  -DDATADIR=/Users/xxxxx/Applications/local/share   -c -o main.o main.c
gcc -g -O2  -DDATADIR=/Users/xxxxx/Applications/local/share   -c -o malloc.o malloc.c
malloc.c:15:1: error: unknown type name 'caddr_t'
caddr_t mmalloc_base = NULL;
^
1 error generated.
make[1]: *** [malloc.o] Error 1
make: *** [files] Error 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.