CVS log for epic5/source/expr2.c

Epicsol.org
(back) Up to [Epic CVS] / epic5 / source

Request diff between arbitrary revisions


Default branch: MAIN
Bookmark a link to: HEAD / (download)

Revision 1.38 / (view) - annotate - [select for diffs] , Wed Jan 23 04:05:55 2008 UTC (8 months, 2 weeks ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_9, epic5-0_3_8, epic5-0_3_7, epic5-0_3_6, HEAD
Changes since 1.37: +7 -3 lines
Diff to previous 1.37
* Fix new math parser comparison operators to work properly with numbers.
* Add function $check_code(), looks for unmatched parens or braces in string.

Revision 1.37 / (view) - annotate - [select for diffs] , Fri Jun 1 00:39:31 2007 UTC (16 months, 1 week ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_5, epic5-0_3_4
Changes since 1.36: +23 -4 lines
Diff to previous 1.36
* Add the ** unary operator -- double expand.  See UPDATES
* Comment what I'm going to mangle xform into.

Revision 1.36 / (view) - annotate - [select for diffs] , Thu Apr 12 02:24:14 2007 UTC (18 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_3
Changes since 1.35: +4 -4 lines
Diff to previous 1.35
* Add arg to panic() controlling whether panic is sent via QUIT (rb black)

Revision 1.35 / (view) - annotate - [select for diffs] , Fri Oct 13 20:58:02 2006 UTC (23 months, 4 weeks ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_2
Changes since 1.34: +2 -2 lines
Diff to previous 1.34
This is the start of a major project to normalize the behavior of word
handling in built in functions.  The project involves stipulating that every
place that handles a "word list" define what a "word" is and use it
consistenly, and to output the same type of "words" that it accepts as
input.  This leverages /xdebug dword to control optional support for dwords
in many built in functions.

Revision 1.34 / (view) - annotate - [select for diffs] , Sat Sep 23 01:56:44 2006 UTC (2 years ago) by jnelson
Branch: MAIN
Changes since 1.33: +3 -1 lines
Diff to previous 1.33
Fix compiler warnings, should not be any functional changes.

Revision 1.33 / (view) - annotate - [select for diffs] , Tue Jun 6 04:08:48 2006 UTC (2 years, 4 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_3_1
Changes since 1.32: +8 -5 lines
Diff to previous 1.32
* Eliminate the third argument to expand_alias(), the statement spanner.
* Rename parse_line() to parse_block() to better reflect its duties.
* Make parse_block() static.  Everything needs to call runcmds() now.
* Eliminate the local-stack-creating feature of parse_block(), callers do this.
* Rename 'line' to 'stmt' in parse_statement().
* Sort of forget to re-implement /set cmdchars.  The / is the cmdchar.
* Try to optimize parse_statement() and next_statement() some.

Revision 1.32 / (view) - annotate - [select for diffs] , Tue Oct 18 00:14:01 2005 UTC (2 years, 11 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_2_0, epic5-0_0_8, epic5-0_0_7
Changes since 1.31: +2 -2 lines
Diff to previous 1.31
Roll back new expr's alias_special_char() so it permits the slurping of
function calls, so @ foo.bar.$encode(moo) = 5   works again. sigh.

Revision 1.31 / (view) - annotate - [select for diffs] , Sun Oct 16 14:46:01 2005 UTC (2 years, 11 months ago) by jnelson
Branch: MAIN
Changes since 1.30: +28 -3 lines
Diff to previous 1.30
* Permit function calls on rval in new math parser, by special request of ce.

Revision 1.30 / (view) - annotate - [select for diffs] , Sun Oct 16 03:15:44 2005 UTC (2 years, 11 months ago) by jnelson
Branch: MAIN
Changes since 1.29: +5 -3 lines
Diff to previous 1.29
* Make the new math parser not slurp up function param lists in lvalues
* Make function calling a full blown operator in the new math parser.
* Call remove_brackets() in call_function
* All this will permit $foo[bar](args) to work as well as ${foo[bar](args)}.
* Remove some unused global variables

Revision 1.29 / (view) - annotate - [select for diffs] , Tue Aug 30 22:45:13 2005 UTC (3 years, 1 month ago) by jnelson
Branch: MAIN
Changes since 1.28: +13 -1 lines
Diff to previous 1.28
* Fix bug with comma operator in new math parser that crazyeddy found.
* Whack support for 7 bit terminals (8 bit support is now assumed)
* Whack support for /set eight_bit_characters
* Whack support for /set beep_max, tab, tab_max, and nd_space_max

Revision 1.28 / (view) - annotate - [select for diffs] , Fri Aug 26 00:28:12 2005 UTC (3 years, 1 month ago) by jnelson
Branch: MAIN
Changes since 1.27: +30 -19 lines
Diff to previous 1.27
* Use "intmax_t" for dcc byte counts, eliminate notion of "packets".
* Use INTMAX_FORMAT to format intmax_t's in printf formats.
* Change %D status bar expando to look like "0.1Kb of 2.3Mb" (no packets)
* Choke on dcc send offers that don't have file sizes.
* Make a feeble attempt to handle 32-bit rollover on dcc get's > 2gb.
* Use "intmax_t" for the new math parser, 64 bit int's ahoy!
* Use INTMAX_FORMAT to format intmax_t's in new math parser.

Revision 1.27 / (view) - annotate - [select for diffs] , Wed Aug 17 22:35:22 2005 UTC (3 years, 1 month ago) by jnelson
Branch: MAIN
Changes since 1.26: +1 -18 lines
Diff to previous 1.26
Round 1 of an attempt to support 64 bit ints without breaking the build for
systems with only 32 bit ints (ie, vms).  I will phase in support for c99's
"intmax_t" and hacks for backwards compatability "soon".

Revision 1.26 / (view) - annotate - [select for diffs] , Fri Aug 5 23:54:23 2005 UTC (3 years, 2 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_6
Changes since 1.25: +3 -3 lines
Diff to previous 1.25
Add humanize_number() and fix compiler warnings. more to follow!

Revision 1.25 / (view) - annotate - [select for diffs] , Sat Jul 23 05:30:24 2005 UTC (3 years, 2 months ago) by jnelson
Branch: MAIN
Changes since 1.24: +123 -12 lines
Diff to previous 1.24
* When a window is resized, make sure scrollback is bigger than new size.
* Add multiple stricmp tables, "ascii" and "rfc1459"
* Make all string insensitive compares use "ascii"
* Add black's ornamentation on the addset script.
* Fix some regression scripts
* Fix pf bugs with various scripts.
* Add the [$func](args) capability to the new math parser.
* Add the === and !== literal equivalence (case sensitive) operators.
* Sort of set the case sensitive mapping to use in the 005 handler (hack!)
* Fix error recovery of ssl connections.

Revision 1.24 / (view) - annotate - [select for diffs] , Wed May 25 00:06:57 2005 UTC (3 years, 4 months ago) by jnelson
Branch: MAIN
Changes since 1.23: +74 -1 lines
Diff to previous 1.23
Add support for single and double quoted strings in the new math parser
(which is already the default)

Revision 1.23 / (view) - annotate - [select for diffs] , Sat Mar 19 03:55:55 2005 UTC (3 years, 6 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_5
Changes since 1.22: +4 -4 lines
Diff to previous 1.22
* Change "ERROR --" to "INFO --" to not alarm people as much.
* Change a few other warnings to not be so alarming.
* Change new_realloc() to not move ptr if it is big enough to hold new size.
* Fix all the status_* sub-formats to not have any hardcoded size limits.

Revision 1.22 / (view) - annotate - [select for diffs] , Wed Jan 12 00:12:20 2005 UTC (3 years, 9 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_4, epic5-0_0_3
Changes since 1.21: +4 -4 lines
Diff to previous 1.21
* Refactor window_check_servers() to work with server's current window only.
* Roll forward all the rest of changes from epic4 (i think)
* Add /ON NEW_NICKNAME, when epic needs a new nickname from you.
* Run 'make depend', fix compile errors, fix 'environment' script

Revision 1.21 / (view) - annotate - [select for diffs] , Fri Mar 19 06:05:13 2004 UTC (4 years, 6 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_2
Changes since 1.20: +1 -14 lines
Diff to previous 1.20
GC a bunch of useless cruft and stuff.

Revision 1.20 / (view) - annotate - [select for diffs] , Wed Dec 17 09:25:30 2003 UTC (4 years, 9 months ago) by jnelson
Branch: MAIN
Changes since 1.19: +6 -6 lines
Diff to previous 1.19
Make 'empty_string' (const char []).  Now we're cooking with gas!

Revision 1.19 / (view) - annotate - [select for diffs] , Sun Dec 14 20:04:09 2003 UTC (4 years, 9 months ago) by jnelson
Branch: MAIN
CVS Tags: epic5-0_0_1
Changes since 1.18: +6 -11 lines
Diff to previous 1.18
* Nix auto-append-of-$* feature (args_flag to expand_alias/parse_inline)
* Fix provided scripts to add $* when necessary.
* Fix up Makefile, configure, et al, to use epic5/ directories.

Revision 1.18 / (view) - annotate - [select for diffs] , Wed Dec 3 05:21:11 2003 UTC (4 years, 10 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_2_5, epic4-1_2_4, epic4-1_2_3, epic4-1_2_2
Changes since 1.17: +15 -13 lines
Diff to previous 1.17
More compiler nits fixed.  Nothing worth fretting over.

Revision 1.17 / (view) - annotate - [select for diffs] , Mon Dec 1 04:41:34 2003 UTC (4 years, 10 months ago) by crazyed
Branch: MAIN
CVS Tags: epic4-1_2_1, epic4-1_2_0
Changes since 1.16: +11 -8 lines
Diff to previous 1.16
* Fix raw listen DCCs not obey /SET DCC_TIMEOUT.
* Added outputting of long long ints to new math parser.

Revision 1.16 / (view) - annotate - [select for diffs] , Fri Nov 21 16:18:12 2003 UTC (4 years, 10 months ago) by jnelson
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15
Unconditionally do (long long) integer math in the new math parser if
your system supports (long long).  I suppose on some systems this will
make math slower, but that seems like a small price to pay for having
integers that will actually support IP addresses!

$info(o) will inclue the letter 'l' if the host client is working with
64 bit integers in the new math parser.

Please note that the old math parser has not changed, and still only
supports 32 bit integers, and that won't change for backwards compatability.
If you really really really need 64 bit integers, think about changing to
the new math parser.

Revision 1.15 / (view) - annotate - [select for diffs] , Fri Oct 31 08:19:24 2003 UTC (4 years, 11 months ago) by crazyed
Branch: MAIN
CVS Tags: epic4-1_1_17, epic4-1_1_16, epic4-1_1_15, epic4-1_1_14
Changes since 1.14: +13 -3 lines
Diff to previous 1.14
* Numerous updates/changes/fixes to DCC, functions, scripts, /EXEC, the
  new math parser, as per UPDATES and KNOWNBUGS.

One potential incompatibility is in the change to $open(). (as per UPDATES)

Revision 1.14 / (view) - annotate - [select for diffs] , Tue Oct 28 05:53:57 2003 UTC (4 years, 11 months ago) by jnelson
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13
* Add /set wserv_type, either "xterm" or "screen".
* Add malloc_strcat_word_c, add a single word to word list, with "" support
* Convert a bunch of stuff to use malloc_strcat_word_c to honor ""s right.
* GC a bunch of unused code.

Revision 1.13 / (view) - annotate - [select for diffs] , Mon Oct 13 15:45:07 2003 UTC (5 years ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_13
Changes since 1.12: +9 -7 lines
Diff to previous 1.12
typedef the integer type used in the new math parser, so CE can
putter around with using 'long long's.

Revision 1.12 / (view) - annotate - [select for diffs] , Thu Jul 10 12:08:56 2003 UTC (5 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11
Overhaul of malloced string handling functions:
* Convert m_[s]c3cat[_s]() to malloc_strcat_wordlist_c()
* Nix m_e3cat(), m_s3cat(), m_s3cat_s(), m_3cat()
* Nix m_ec3cat(), m_sc3cat(), m_sc3cat_s(), m_c3cat().
* Convert m_dupchar() to malloc_dupchar().
* Convert m_strndup() to malloc_strndup().
* Make malloc_strcpy/malloc_strcat/malloc_strcat2/malloc_strcat_wordlist macros
* Convert m_2dup() to malloc_strdup2().
* Convert m_3cat() to malloc_strcat2[_c]().
* Convert m_3dup() to malloc_strdup3().
* Convert m_ec3cat() to malloc_strcat2_c()
* Use strlcat_c() in $repeat() instead of strlcpy(). whee!
* Sanity check first arg to $regcomp(), to avoid crashes.
* Don't pass NULL to bsearch(), even if 'nmem' is 0 [$remws()]
* Nix the original malloc_strcpy (supplanted by malloc_strcpy_c)
* Comment out all the deprecated functions

Revision 1.11 / (view) - annotate - [select for diffs] , Thu Jul 10 09:30:45 2003 UTC (5 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.10: +10 -3 lines
Diff to previous 1.10
Commit 548
* Nix channel_window, duplicate of get_winref_by_channame()
* Make arglist processor panic if it sees an argtype that doesn't exist.
* Fix bug with * operator in exprs like (a ? b : *c) in new expression parser.
* Fix theoretical crash with deleting hooks from /on window. Bleh.
* General cleanups in if.c.
* Fix /timer -list acting all wacky.
* Fix compilation warnings, you know the deal...

Revision 1.10 / (view) - annotate - [select for diffs] , Thu Jul 10 08:50:30 2003 UTC (5 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.9: +3 -6 lines
Diff to previous 1.9
* Convert parse_line_with_return() to call_lambda_function().

Revision 1.9 / (view) - annotate - [select for diffs] , Wed Jul 9 20:10:25 2003 UTC (5 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.8: +7 -7 lines
Diff to previous 1.8
Convert m_strdup() to malloc_strdup().

Revision 1.8 / (view) - annotate - [select for diffs] , Wed Jul 9 04:45:22 2003 UTC (5 years, 3 months ago) by jnelson
Branch: MAIN
Changes since 1.7: +4 -4 lines
Diff to previous 1.7
Cut over m_sprintf() to malloc_sprintf().

Revision 1.7 / (view) - annotate - [select for diffs] , Fri May 9 03:29:52 2003 UTC (5 years, 5 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_12
Changes since 1.6: +31 -25 lines
Diff to previous 1.6
* Rename 'dcc()' to 'dcc_cmd()' so we can use dcc as variable
* Garbage collect unused 'irc_path' global variable.
* Add --with-warns to configure to do FreeBSD "WARNS" like compiler checks
* Many hundreds of changes to improve the "quality of code" in epic, including:
* - Treat all literal strings as (const char *) and fix const correctness.
* - Mopping up all remaining const-correctness issues
* - Do not "launder" a (const char *) to a (char *) in string searches, (ala
    strchr) but rather return a ssize_t offset value.
* - Particular, MatchingBracket() returns (ssize_t) and not (char *).
* - Eliminate all "shadow" variable names by changing them to something else.
* - Eliminate most function decls that do not include a prototype list.
* - Add prototypes for all extern functions that are missing them.
* - Ensure most function pointers include a prototype list.
* - In term.c, most of those (char *)'s are really (const char *)'s.
* - Explicitly specify 'static' functions as 'static'
* - Ensure every function is either 'static' or has a prototype.
* - Eliminate (unsigned) < (signed) type comparisons.
* Hopefully you should not notice any changes!

Revision 1.6 / (view) - annotate - [select for diffs] , Thu Apr 24 20:49:25 2003 UTC (5 years, 5 months ago) by jnelson
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5
Nominally remove all uses of "unsafe" functions: (Commit 506)
* Convert all uses of strcpy() to strlcpy()
* Convert all uses of strcat() to strlcat()
* Convert all uses of strmcpy() to strlcpy()
* Convert all uses of strmcat() to strlcat()
* Convert all uses of sprintf() to snprintf()
* As much as possible, use 'sizeof var' in snprintf/strlcpy/strlcat.
* Qualify the size of some global vars so we can sizeof() them.
* Nuke strmcpy(), strmcat(), strmcat_ue(), strmccat(),
* Change strmopencat() to strlopencat().
* Change strmpcat() to strlpcat().
* Fix switch_hostname so it doesn't return a (const) string.
* Fix TimerTimeout so it doesn't return a (const) Timeval.
* Change things like (ret) to do ret while (0); for when "ret" is "{}".
* Fix initialization for load_level
* Stop passing in static strings into io(), so we can modify them.
* Make messages passed to io() more informative to the user.
* Fix CTCP FINGER handler not to assume (struct pw) strings can be overwritten.
* Use (socklen_t) and not an (int) for socket sizes.
* Don't return a value in a void function...
* Don't use return value of process_dcc_chat_ctcps() for assignment.
* Don't put semicolons after function bodies
* Fix $getopt() to save 'input_size' so we can use it with strl*().
* Convert all uses of stpcpy() to strlcat() and strlopencat().
* Nix checks for stpcpy() in configure -- regen configure.

Revision 1.4.2.4 / (view) - annotate - [select for diffs] , Wed Mar 26 12:38:50 2003 UTC (5 years, 6 months ago) by wd
Branch: wd-devel
Changes since 1.4.2.3: +2 -2 lines
Diff to previous 1.4.2.3 to branch point 1.4 to next main 1.5
A lot more cleanup.  Namespace scope changing within aliases now works.
-wd

Revision 1.4.2.3 / (view) - annotate - [select for diffs] , Wed Mar 26 09:20:46 2003 UTC (5 years, 6 months ago) by wd
Branch: wd-devel
Changes since 1.4.2.2: +2 -2 lines
Diff to previous 1.4.2.2 to branch point 1.4
Okay.  User input is now handled specially, and parse_command() will not
accept incomplete command names anymore.
-wd

Revision 1.4.2.2 / (view) - annotate - [select for diffs] , Mon Mar 24 17:53:00 2003 UTC (5 years, 6 months ago) by wd
Branch: wd-devel
Changes since 1.4.2.1: +4 -4 lines
Diff to previous 1.4.2.1 to branch point 1.4
Another merge.

Revision 1.5 / (view) - annotate - [select for diffs] , Sun Mar 23 19:44:17 2003 UTC (5 years, 6 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_11
Changes since 1.4: +4 -4 lines
Diff to previous 1.4
* Explicitly set "mask" to 0 in cs_alist_hash(), so it is initialized
* Change type() to typecmd() to avoid name conflicts.
* Change 'dot' to 'dotlocl' to avoid name conflicts.
* Change 'op' to 'reduce' to avoid name conflicts.
* Fix a typo in the error message from /window kill.
* Add a panic to detect larne's recent bug that I fixed, just in case.
* Constify the "path" argument to uzfopen().
* Make sure return value of strlen() is assigned to a 'size_t' not an 'int'.
* Split load() into load() and load1(), load1() reads a file opened by load().
* Now load() is "interpretation-free", and load1() can be replaced.
* Fix various minor compile-time issues.
* Change %P status line expando to give more useful information.

Revision 1.4.2.1 / (view) - annotate - [select for diffs] , Thu Feb 27 12:17:24 2003 UTC (5 years, 7 months ago) by wd
Branch: wd-devel
Changes since 1.4: +14 -14 lines
Diff to previous 1.4
Whee.  Preliminary work is done.  I've converted things to use hash tables
instead of alists (if this doesn't work out, I'll go back to alists).
Namespaces exist, but are not yet addable.  That will come.

I'm very sure things are still a bit unstable, but the absolute basics of
adding variables/functions and executing/retrieving them works.  That was
my first milestone.

-wd

Revision 1.4 / (view) - annotate - [select for diffs] , Thu Nov 7 05:48:37 2002 UTC (5 years, 11 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_9, epic4-1_1_8, epic4-1_1_10
Branch point for: wd-devel
Changes since 1.3: +41 -1 lines
Diff to previous 1.3
* Update copyright notices. erf.
* Fix short circuiting in new math parser not to spuriously error
* #ifdef out all uses of bogus 'ceiling_of_display' for now.
* Pull "initial" part of resize_window_display() into new_window()
* Then forcibly call resize_window_display() to update old_display_size.
* And then call make_window_current() last to make sure window updates there.
* But I think that calling recalc_win_curs_and_disp_ip might be bogus there.
* Make notes that calling make_window_current() can kill the window.

Revision 1.3 / (view) - annotate - [select for diffs] , Mon Oct 28 23:45:39 2002 UTC (5 years, 11 months ago) by jnelson
Branch: MAIN
Changes since 1.2: +1 -2 lines
Diff to previous 1.2
Add $joinstr() and let $jot() work on floating point variables.

Revision 1.2 / (view) - annotate - [select for diffs] , Thu May 23 02:35:17 2002 UTC (6 years, 4 months ago) by jnelson
Branch: MAIN
CVS Tags: epic4-1_1_7, epic4-1_1_6
Changes since 1.1: +6 -6 lines
Diff to previous 1.1
No functional changes, just removal of unecessary whitespace at the end
of lines.  From adm.

Revision 1.1.1.1 / (view) - annotate - [select for diffs] (vendor branch) , Tue Dec 5 00:11:57 2000 UTC (7 years, 10 months ago) by jnelson
Branch: epicsol
CVS Tags: start, epic4_0_9_15, epic4-1_1_5, epic4-1_1_4, epic4-1_1_3, epic4-1_1_1, epic4-1_0_1, epic4-1_0, epic4-0_9_17, epic4-0_9_16, epic4-0_9_15, epic4-0_9_14, epic4-0_10_0, epic-test-tag2, epic-test-tag
Changes since 1.1: +0 -0 lines
Diff to previous 1.1
Initial import into CVS

Revision 1.1 / (view) - annotate - [select for diffs] , Tue Dec 5 00:11:57 2000 UTC (7 years, 10 months ago) by jnelson
Branch: MAIN
Initial revision

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Diffs between and
Type of Diff should be a

View only Branch:
Sort log by:

CVS Admin
Powered by
ViewCVS 0.9.2