The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
0.168
-------
Special Thanks
--------------
Huge thanks to PVS-Studio's owners for giving us a temporary license in order to troubleshoot
issues in our code.
Also big thanks goes to JetBrains for giving us licenses for their ReSharper and CLion
projects that are helping us to improve MAME.
MAMETesters Bugs Fixed
----------------------
- 06083: [Core] cpu/z8000/z8000tbl.inc - wrong asmflags (Olivier Galibert)
- 05958: [Graphics] (cclimber.c) toprollr: Some sprites are invisible (Osso)
- 06075: [Graphics] (malzak.c) malzak, malzak2: Graphic issue (blank line) in title (Pernod)
- 06071: [Documentation] (shadfrce.c) shadfrcej: Shadow Force (Japan Version 3) might be misnamed.
Version is actually in English, not Japanese. (David Haywood)
- 06070: [DIP/Input] (psikyosh.c) mjgtaste: Joystick mode does not fully work (David Haywood)
- 06060: [DIP/Input] (a7800.c) a7800 [1on1u]: Cannot start a game in One-On-One Basketball. (David Haywood)
- 05817: [Misc.] (mz700.c) mz700, mz700j: Emulation drastically slowing down after loading the basic! (Robbbert)
- 06056: [Gameplay] (osborne1.c) osborne1: osborne1 banking doesn't work properly (Vas Crabb)
Source Changes
--------------
-zx: Start of a hardware-correct rewrite [O. Galibert]
-Aristocrat MKV driver: More accurate documentation. Also added some
technical notes. [Roberto Fresca]
-osborne1 improvements [Vas Crabb]
* Bank low 16k according to schematics, passes memory test
* Handle memory mapped I/O addresses according to schematics
* Correct vectoring of IEEE488 interrupt
* Add serial port emulation
* Fix beeper frequency/timing
* Fix scrolling behvaviour in standard and SCREEN-PAC modes
* Implement RESET key (generates NMI, F12 by default)
* Show contents of video memory in F4 tilemap viewer
* Add configured banking and save state support
-Osborne Vixen: fixed screen (thanks to OG who added M1 support to the
Z80). Various other fixes. Marked as Working [Robbbert]
-n64: Simulation of cpu cycles from the skipped RDRAM initialization. [Happy]
This allows later SI initialization to see something closer to an
expected value for the system uptime.
-making logerror part of machine and device classes [Miodrag Milanovic]
display tag of device that logged message
-naomi/triforce docs update [f205v]
-peplus.c: Documentation update based on newly found PSR (Program
Summary Report). [Kevin N, BrianT]
-TMS5xxx: Fix for occasional audio 'spike' instability/wraparound
glitches caused by improper truncation in the lattice filter
multiplier. This is not an optimal fix as it isn't correct to
hardware, but it works better than the previous approximation.
[Lord Nightmare]
-Derived a new machine with improved memory map, remapped the roms
load, and created proper inputs set for Genie (ICP-1, set 2). Also
added technical notes and findings... [Roberto Fresca]
-Goldnpkr.c driver: Added games and technical notes, and some
clean-ups... [Roberto Fresca]
-Fix all instances of PVS-Studio warning V578, "An odd bitwise operation
detected. Consider verifying it". [MooglyGuy]
-Sharp MZ series:
* MZ-700: Increased speed of basic (MT 06058) by using bankdev; [Robbbert]
* MZ-700: Fixed shift, ctrl, function keys;
* MZ-800: Fixed crash when ramdisk accessed;
* MZ1500: now starts up and can run some programs;
* MZ-800, MZ-80K, MZ-80A can load mzf tapes.
-Fix some instances of PVS-Studio warning V501, "There are identical
sub-expressions to the left and to the right of an operator". [MooglyGuy]
-hdc92x4: Fix ambiguity of ?: operator flagged by PVS-Studio [MooglyGuy]
-Jack Potten's Poker (NGold, set 3) improvemente: Fixed wrong inputs /
coin lines through dedicated inputs. Also fixed graphics.
[Roberto Fresca]
-Serial ports added to imds2 [F. Ulivi]
-Fix PVS-Studio warning V562, "It's odd to compare a bool type value with
a value of 0/1" [MooglyGuy]
-Fix PVS-Studio warning V564, "The &/| operator is applied to bool
type value. You've probably forgotten to include parentheses." [MooglyGuy]
-goldnpkr.c driver improvements. [Roberto Fresca]
-cmpacman: fix two DIP switches [Vas Crabb]
-Added partial decryption to the ICP1 daughterboard games. (currently
only pokerduc set). Since it's just partial, commented out the code
for now.... [Roberto Fresca]
-Added port impulse to the Golden Poker's second coin slot. This is
needed for both royale sets. [Roberto Fresca]
-amstad: Transtape WIP support. [Barry Rodewald]
-a7800.c - More accurately reflect '0x02XX' map per hardware
documentation and testing. [Mike Saarna, Robert Tuccitto]
-TMS5220 and TMS5110: Add more verbosity to DEBUG_LATTICE
[Lord Nightmare]
-namcos23: Better handle on the GPU comms [O. Galibert]
-OSD/SDL: add missing header to fix build on NetBSD. [Thomas Klausner]
The file was removed from the other gmake.*/genie.make files. The
build/gmake.* files do not exist upstream, so this is a purely local
problem.
-namcos23: port b bit 6 is also an input, handle accordingly. Probably
JVS. [O. Galibert]
-mc6845: fixed hd6845 rasters in interlace mode [Nigel Barnes]
* bbc now uses correct hd6845
* saa5050 outputs all 20 scanlines
-a6809: Removed hack and fixed display for above saa5050 changes.[Robbbert]
-bbc: softlist additions/changes [Nigel Barnes]
* added part_id to many items
* added original protected floppies (FSD)
-bbc: preliminary support for FSD format. [Nigel Barnes]
-naomi.c: added "NAOMI Development BIOS v1.10" [Andy Geezer, MetalliC]
-Aristocrat MKIV driver: Changed the Fever Pitch input scheme and
artwork layout, since it seems that the game lacks of a gambling or
double-up feature. Also cleaned a bit the driver. [Roberto Fresca]
-Aristocrat MKIV driver: Fever Pitch service input is just 'reserve'
feature/function. Changed the inputs and artwork layout accordingly.
[Roberto Fresca]
-HLSL [ImJezze]
* removed duplicate prescale fields
* made visibility of HLSL options depending on screen type
* disabled scanlines for LCD screen type
Fixed reset of HLSL settings
* fixed bug that resets the HLSL settings when the screen size has
changed
* removed hardcoded HLSL presets
* updates HLSL readme
* fixed creation order of D3D and HLSL resources
* sliders will be hidden when toggled off and will be shown when
toggled on again
* screen adjustment (scale, offset) can now be handled by the
respective render API itself (default behavior is as before)
* D3D (if HLSL) is activated handles screen adjustment by itself
within the shader, which fixes the odd behavior of some effects
(e.g. round corners) when screen scale and offset is used
* fixed bug that resets the HLSL settings when switching between
window mode and fullscreen
* fixed changed screen adjustment for multi screens
* the vector renderer now tries to detect a invariabel vector
intensity and disables the calculation of a dynamic beam width
* fixed not used HLSL settings from <custom>.ini if MAME was started
without driver parameter
* removed default values from HLSL sliders, the defaults here are
more like null values to hint when an effect would be disable
* slightly changed default HLSL settings
* fixed missing shadow mask texture when switching between window
mode and full screen
-z800x: Fix the disassembly [Oliver Lehmann]
-ap2_dsk.c: support 36-track Apple II NIB images [Peter Ferrie]
-wozfdc: Warp factor 4 Scotty (much less CPU usage now!) [O. Galibert]
-vrender0: allow resolutions higher than 512x240 [Luca Elia]
-Updated OS/2 support for GEnie and MAME [KO Myung-Hun]
-mcatadv.c: Improved Nostradamus emulation [David Haywood]
* Sprite masking effect supported (stage 6 boss)
* Tilemap enable supported (flickering shadow for stage 7 boss)
* Priority 0 sprites now shown (final boss arms)
* BG colour changed to more likely pen (fade in/out on intro & end)
-se3208: make sure the low bits of the stack pointer are always 0 [Luca Elia]
-se3208.c: disallowed unaligned dword reads/writes, this allows
Donggul Donggul Haerong to function, although not 100% sure it's the
correct fix [David Haywood]
-Allow for Emscripten compile to JavaScript out of the box. [Justin Kerk]
MAME can now be built using Emscripten's 'emmake' tool, e.g. like so:
emmake make SUBTARGET=pacman SOURCES=src/mame/drivers/pacman.cpp
This should produce a .js file which can be supplied to an HTML front-end.
New machines added or promoted from NOT_WORKING status
------------------------------------------------------
Fever Pitch? (2VXEC534, NSW, 90.36%) [Roberto Fresca, Matt B]
Trivia R Us (v1.07) [J. Mathevet, Smitdogg, The Dumping Union, Luca Elia]
Micro Engenho (Brazilian Apple 2 clone) [Felipe Sanches]
New clones added or promoted from NOT_WORKING status
----------------------------------------------------
Forgotten Worlds (World, newer) [Bill D, The Dumping Union]
Fighter's History (World ver 43-09, DE-0395-1 PCB) [coolmod, rtw, The Dumping Union]
Genie (ICP-1, set 2) [Roberto Fresca, Matt B]
Genie (ICP-1, set 2) [Roberto Fresca]
Karate Blazers (World, set 2) [caius]
Jack Potten's Poker (set 8, Australian) [Roberto Fresca, Matt B]
Jack Potten's Poker (set 9, 'just 4 fun') [Roberto Fresca, Matt B]
Player's Edge Plus (PP0045) 10's or Better (Las Vegas Rio) [BrianT]
Player's Edge Plus (PP0104) Standard Draw Poker [BrianT]
Player's Edge Plus (PP0197) Standard Draw Poker (set 5) [BrianT]
Player's Edge Plus (PP0197) Standard Draw Poker (Cruise) [BrianT]
Player's Edge Plus (PP0203) 4 of a Kind Bonus Poker (set 5) [BrianT]
Player's Edge Plus (PP0221) Standard Draw Poker (set 2) [BrianT]
Player's Edge Plus (PP0423) Standard Draw Poker (set 4) [BrianT]
Player's Edge Plus (PP0454) Bonus Poker Deluxe (set 2) [BrianT]
Player's Edge Plus (PP0550) Joker Poker (Two Pair or Better, set 2) [BrianT]
Player's Edge Plus (X002178P+XP000119) Double Bonus Poker [BrianT]
Sengoku Ace (Japan, set 2) [Alex Cmaylo]
Bonne Chance! (Golden Poker prequel HW, set 2) [Roberto Fresca, ANY]
Final Fight Revenge (JUET 990930 V1.100) [coolmod]
Ripper Ribbit (Version 3.5) [coolmod, Ryan Holtz, The Dumping Union]
1943: The Battle of Midway (US) [caius, The Dumping Union]
Rolling Thunder (rev 3, hack) [caius]
Super Galaxians (Silver Systems) [Robbbert]
New machines marked as NOT_WORKING
----------------------------------
Cherry Master '99 [hsialin,Vas Crabb]
Chicken (RHG0730, Export, 92.588%) [Roberto Fresca]
Enchanted Forest (MV4033, Export, 94.97%) [Roberto Fresca]
Club Kart for Cycraft (GDS-0029A) [Guru, R. Belmont]
Initial D Arcade Stage Ver. 3 Cycraft Edition (Rev. A) (GDS-0039A) [Guru, R. Belmont]
Koala Mint (MV4137, Export) [Roberto Fresca]
Magic Garden (AHG1211, Export, 88.26%) [Roberto Fresca]
Sweet Hearts II (PHG0742, Export, 92.252%) [Roberto Fresca]
Party Gras (MV4115/3, Export, touch) [Roberto Fresca]
The Gambler (EHG0916, Export, 92.268%) [Roberto Fresca]
Tropical Delight (PHG0625-02, Export, 92.25%) [Roberto Fresca]
New clones marked as NOT_WORKING
--------------------------------
Super Treasure Island (Italy, v1.6) [Any]
The Typing of the Dead [twistedsymphony]
Super 98 (ICP-1) [Roberto Fresca, Matt B]
Golden Pyramids (AHG1206-99, NSW/ACT, 87.928%) [Roberto Fresca]
Margarita Magic (EHG1559, NSW/ACT) [Roberto Fresca]
----------------------
1.13
----
* Update version to 1.13
* Merge branch 'ejmr/highlight-variables-in-strings'
* Merge commit '38e1940e950d47737fed30a5bd5d4e75e0faf103'
* Append file patterns to auto-mode-alist
* Guard propertize functions for Emacs that don't support it.
* Add more tests for highlighting variable interpolation
* Create a unit test for highlighting interpolated variables
* Avoid calling syntax-propertize-rules as may be unavailable.
* README: Explicitly mention the oldest supported Emacs
* Merge branch 'heredoc-support'
* README: Replace mention of `run-tests.sh' with `make tests'
* Explain the expected behavior of the test for GitHub issue 124
* Added unit test for GitHub issue 124
* Replaced run-tests.sh with a Makefile
* Replaced `put-text-property' with macro `c-put-char-property'
* Added initial support for propertizing a heredoc as a string
* Merge branch 'fix-highlighting-final-keyword'
* Update php-mode-modified
* Add a simple script to test syntax highlighting for `final'
* Add a template script for creating test cases
* Fix `final' not highlighted as a keyword in some methods
* Merge branch 'github/pr/127'
* Update php-mode-modified
* Removed unused defconst.
* Added PREG constants to the list of predefined constants.
* Fix byte compile error again; resurfaced in after a merge.
* Add Andrei Chitu to the list of contributors
* fix inclusion of `web-mode-extra-php-keywords` in `php-keywords`
* Update Changelog for version 1.12
1.12
----
* Automatically enable PHP Mode for Amaka scripts
* Also enable PHP Mode for Amaka scripts using the `*.amk' extension
* Use mode-specific functions for defun movement
* Treat `const` as a keyword instead of a type-hint
* Add `enddeclare` to the list of keywords
* Treat `eval` as a built-in keyword
* Show links to the official site and wiki when customizing PHP Mode
* Update php-mode-modified for changes made today
* Add FILTER_SANITIZE_FULL_SPECIAL_CHARS to the list of constants
* Fix an error about php-extra-constants being void
* Use extra constants and keywords from Web Mode if available
* README: Replace `php-mode' with `PHP Mode' for consistency
* README: Update the `Status' section
* README: Use the spelling `GitHub' consistently
* README: Add installation instructions
* Address the compiler warning regarding `c-syntactic-context`
* GitHub-Issue: 102 (Unit Test)
* Fix indentation error involving magic constants
* Merge branch 'ejmr/issue-102'
* Stop marching indentation for try-catch blocks
* GitHub-Issue: 100 (Unit Test)
* Fix two errors with the regex for matching namespace imports
* GitHub-Issue: 115 (Unit Test)
* Use the PEAR indentation style by default for unit tests
* Align chained method calls inside of arrays
* Update php-mode-modified
* Merge branch 'ejmr/align-method-calls-in-arrays'
* Update php-mode-modified for byte-compiler fixes
* Merge branch 'github/pr/123'
* README: Document use of Web Mode constants and keywords
* Merge branch 'ejmr/web-mode-constants'
* Change the test for Issue 100 to require correct indentation
* Line-up multiple namespaces in a multi-line `use' statement
* Merge branch 'ejmr/multiline-use-statements'
* Increase the version number to 1.12
* Fix the compiler warning about `add-log-current-defun-header-regexp`
* Add (require 'speedbar) as functions are used.
* Remove eval-when-compile.
* Add (require 'etags) as etag functions are used.
* Added newline at end of file restriction to Symfony2 style.
* Fix regex for namespaces in function calls
1.11
----
* Add STDOUT, STDIN, and STDERR to the php-constants list
* Add Symfony2 coding style.
* Add a full copy of the license
* Add proper statement-case-intro indent for symfony2
* Added "function" as a PHP keyword.
* Added function php-lineup-arglist
* Added gitignore with *.elc
* Associate file extensions when installing from an Elisp repository
* Be nice to PSR standards (there should be 4 spaces)
* Correct indentation for array arguments (tests/issues-14.php)
* Correct syntax highlighting for `parent' and `self'
* Describe php-extra-constants in the README
* Describe php-template-compatibility in the README
* Do not expect failure for test issue-19
* Do not trigger search error in php-mode-test-issue-19
* Document Subword Mode in the README
* Document support for the Symfony2 style in the README
* Fix chained method alignment
* Fix indentation of statements after `foreach' without braces
* Highlight `static' as a constant when it appears in a class context
* Improve the docstring for php-create-regexp-for-method
* Improve the plain-text formatting of the README
* Introduce php-extra-constants
* Introduce php-template-compatility
* Introduce `C-c C-w' to toggle Subword Mode
* Issue #73, correct behavior of `delete-indentation`.
* List all methods via Imenu regardless of their visibility
* Make `with-php-mode-test` aware of the Symfony2 coding style
* README: Change the absolute link to the Changelog to a relative link
* README: Correct the documentation for chained-method call alignment
* README: Document how chained method alignment may fail
* README: Reword the mention of Web Mode for clarity
* README: Use syntax highlighting for the method alignment example
* Re-define C-M-h to mark-defun instead of c-mark-function
* Remove the unnecessary &optional from the with-php-mode-test macro
* Set brace-list-entry to offset of four
* Tests: Remove executable permissions from the issue 27 test
* Treat `abstract' as a keyword
* Use "magic" comments in PHP files to simplify indentation testing
* Use magic for tests of issues #14, #19, #27, #29, #42
* Workaround "bug" in `load-theme`
1.10
----
* Add `php-mode-coding-style` so users can customize their preferred
coding style.
* Fix a bug that messes up the indentation of some closures.
* Update php-mode for Emacs 24 with regard to changes to the `cl`
Elisp library.
* Submit php-mode to the [MELPA](http://melpa.milkbox.net/)
repository.
* Fix indentation of `foreach` blocks that have only a single
statement following them, without any braces.
* Add all valid flags for `htmlspecialchars()` to the list of
constants.
* Improve indentation of chained method calls, although this still has
an issue to iron out.
* Provide a test suite for developers working on php-mode to help
improve quality control.
* Add all constants for errors.
* Add all constants for the cURL module.
* Fix a bug where some methods are not highlighted as functions.
* Remove `then` as a PHP keyword, since it is not a valid keyword.
* Fix annotation highlighting when using C-style `/*...*/` comments.
* Redefine the php-mode coding styles using cc-mode.
* Fix a bug that applies incorrect syntax highlighting to certain PHP
keywords when they appear in block comments, e.g. `continue`.
* Fix a bug where php-mode incorrectly highlights variables and
methods inside of comments.
* Treat acceptable directives to `declare()` as keywords.
1.9
---
* Add all new PHP 5.5 keywords.
* Add new test cases for indentation and highlighting.
* Add new PHP 5.5 `PASSWORD_*` constants.
* Do not treat function-like language constructs as functions,
e.g. `array()`.
* Treat `callable` as a valid type hint.
* Fix an error regarding the requirement of `flymake`.
* Fix a syntax error in `php-unindent-closure`.
* Add support Drupal and WordPress coding styles.
* Document how to change the default coding style in the README.
* Fix an issue with running hooks after loading `php-mode`.
* Properly fontify function calls using one namespace qualifier.
1.7 and 1.8
-----------
* Line up cascaded method calls.
* Add test cases for indentation features.
* Fix syntax highlighting for multiline strings.
* Fix compiler warnings for:
- `font-lock-syntactic-keywords`
- `c-vsemi-status-unknown-p`
* Support highlighting in annotations in comments.
* Fix the `#' sign as a comment delimeter.
* Improve indentation for anonymous functions.
* Remove unused libraries.
* Remove a corrupted character from a docstring.
1.6.6
-----
* Improve indentation of functions and arrays.
* Fix bug displaying strings in back-ticks.
* Add `php-function-call-face`.
* Add IMAP related constants.
* Fix fontification of function arguments to work across multiple
lines, including type-hints.
* Fix bug when trying to browse online documentation.
* Allow sending code to PHP directly for execution.
* Add `die` to the list of language constructs.
* Use `font-lock-syntatic-keywords` to detect quoted strings.
1.6.5
-----
There was no version 1.6.5 release due to poor planning on my part
(EJMR).
1.6.4
-----
* Make it possible to use namespaces in more places.
* Fix Elisp warnings about `save-excursion` and `set-buffer`.
* Properly fontify the `instanceof' operator.
* Add function to search local PHP documentation.
* Try searching local documentation before searching the manual
on PHP.net online.
* Add PHP to `interpreter-mode-alist`.
* Improve indentation of nested arrays.
* Add `.phpt` to `auto-mode-alist`.
1.6.3
-----
* Fix bug with regular vs. static function highlighting.
* Add all `FILTER_*` and `INPUT_*` constants.
* Add `php-mode-warn-if-mumamo-off`.
* Fix fontification for namespace imports.
* Do not warn on constructs like `$foo->$bar`.
* Fontify expressions like `const Foo = 1`.
* Fix fontification for `return new Foo()`.
1.6.2
-----
* Add notes on Github for contributing to php-mode.
* Highlight `use <trait>' in class definitions.
* Add Flymake support.
1.6.1
-----
* Support as magic and pre-defined constants.
* Add `default' as a keyword.
* Add `clone' as a keyword.
* Align cascading function calls.
* List methods in Imenu.
* Show variables assigned to anonymous functions in Imenu.
* Show interfaces in Imenu.
* Prevent methods from appearing under `Named Functions' on Imenu.
1.6
---
* Fix most definitions in `php-font-lock-keywords-2`.
* Fix highlighting of namespace imports.
* Treat `as' and `use' as keywords.
1.5.1
-----
* Add `__NAMESPACE__` to the list of constants.
* Fontify `use <namespace> as <alias>' constructs.
* Fix highlighting for namespaces, classes, and traits.
* Allow backslashes in namespaces for Imenu.
new welcome page to help new users
touch-screen support for most editing interfaces, for sizes from small tablets to table-top devices
enhanced and polished user interface
much-needed improvements to the structure-board
enhancements to components such as the pop-up plugin editor, sideframe (now called the overlay) and the toolbar
significant speed improvements on loading, HTTP requests and file sizes
restarts are no longer required when changing apphook configurations
a new content wizard system, adaptable to arbitrary content types
-------------------------------------
Author: Johan Vromans <jvromans@squirrel.nl>
Date: 2015-11-23
Prepare for 4.5.3 release.
README-4.5
configure.ac
Author: Johan Vromans <jvromans@squirrel.nl>
Date: 2015-11-23
Prevent crash on using unknown cli options.
src/chordii.c
Author: Johan Vromans <jvromans@squirrel.nl>
Date: 2015-11-23
Improve LATIN2 generation; show in version.
configure.ac
src/chordii.c
src/common.c
src/iso.c
Author: Johan Vromans <jvromans@squirrel.nl>
Date: 2015-10-04
(a2crd) Fix crash when environment HOME is not set (Windows).
(a2crd) Add -V to print version.
(a2crd) Update help message.
src/a2crd.c
Author: Johan Vromans <jvromans@squirrel.nl>
Date: 2015-05-04
Updates.
TODO
Author: Johan Vromans <jvromans@squirrel.nl>
Date: 2014-12-04
Handle CRLF input more elegantly.
src/chordii.c
Author: Adam Monsen <haircut@gmail.com>
Date: 2015-03-21
TODO: fix filetype in vim modeline
See https://github.com/vimoutliner/vimoutliner
TODO
Baikal offers ubiquitous and synchronized access to your calendars
and address books over CalDAV and CardDAV. Baikal implements the
current IETF recommendation drafts of these industry standards for
centralized calendar and address book collections.
Version 8.38 23-November-2015
-----------------------------
1. If a group that contained a recursive back reference also contained a
forward reference subroutine call followed by a non-forward-reference
subroutine call, for example /.((?2)(?R)\1)()/, pcre2_compile() failed to
compile correct code, leading to undefined behaviour or an internally
detected error. This bug was discovered by the LLVM fuzzer.
2. Quantification of certain items (e.g. atomic back references) could cause
incorrect code to be compiled when recursive forward references were
involved. For example, in this pattern: /(?1)()((((((\1++))\x85)+)|))/.
This bug was discovered by the LLVM fuzzer.
3. A repeated conditional group whose condition was a reference by name caused
a buffer overflow if there was more than one group with the given name.
This bug was discovered by the LLVM fuzzer.
4. A recursive back reference by name within a group that had the same name as
another group caused a buffer overflow. For example:
/(?J)(?'d'(?'d'\g{d}))/. This bug was discovered by the LLVM fuzzer.
5. A forward reference by name to a group whose number is the same as the
current group, for example in this pattern: /(?|(\k'Pm')|(?'Pm'))/, caused
a buffer overflow at compile time. This bug was discovered by the LLVM
fuzzer.
6. A lookbehind assertion within a set of mutually recursive subpatterns could
provoke a buffer overflow. This bug was discovered by the LLVM fuzzer.
7. Another buffer overflow bug involved duplicate named groups with a
reference between their definition, with a group that reset capture
numbers, for example: /(?J:(?|(?'R')(\k'R')|((?'R'))))/. This has been
fixed by always allowing for more memory, even if not needed. (A proper fix
is implemented in PCRE2, but it involves more refactoring.)
8. There was no check for integer overflow in subroutine calls such as (?123).
9. The table entry for \l in EBCDIC environments was incorrect, leading to its
being treated as a literal 'l' instead of causing an error.
10. There was a buffer overflow if pcre_exec() was called with an ovector of
size 1. This bug was found by american fuzzy lop.
11. If a non-capturing group containing a conditional group that could match
an empty string was repeated, it was not identified as matching an empty
string itself. For example: /^(?:(?(1)x|)+)+$()/.
12. In an EBCDIC environment, pcretest was mishandling the escape sequences
\a and \e in test subject lines.
13. In an EBCDIC environment, \a in a pattern was converted to the ASCII
instead of the EBCDIC value.
14. The handling of \c in an EBCDIC environment has been revised so that it is
now compatible with the specification in Perl's perlebcdic page.
15. The EBCDIC character 0x41 is a non-breaking space, equivalent to 0xa0 in
ASCII/Unicode. This has now been added to the list of characters that are
recognized as white space in EBCDIC.
16. When PCRE was compiled without UCP support, the use of \p and \P gave an
error (correctly) when used outside a class, but did not give an error
within a class.
17. \h within a class was incorrectly compiled in EBCDIC environments.
18. A pattern with an unmatched closing parenthesis that contained a backward
assertion which itself contained a forward reference caused buffer
overflow. And example pattern is: /(?=di(?<=(?1))|(?=(.))))/.
19. JIT should return with error when the compiled pattern requires more stack
space than the maximum.
20. A possessively repeated conditional group that could match an empty string,
for example, /(?(R))*+/, was incorrectly compiled.
21. Fix infinite recursion in the JIT compiler when certain patterns such as
/(?:|a|){100}x/ are analysed.
22. Some patterns with character classes involving [: and \\ were incorrectly
compiled and could cause reading from uninitialized memory or an incorrect
error diagnosis.
23. Pathological patterns containing many nested occurrences of [: caused
pcre_compile() to run for a very long time.
24. A conditional group with only one branch has an implicit empty alternative
branch and must therefore be treated as potentially matching an empty
string.
25. If (?R was followed by - or + incorrect behaviour happened instead of a
diagnostic.
26. Arrange to give up on finding the minimum matching length for overly
complex patterns.
27. Similar to (4) above: in a pattern with duplicated named groups and an
occurrence of (?| it is possible for an apparently non-recursive back
reference to become recursive if a later named group with the relevant
number is encountered. This could lead to a buffer overflow. Wen Guanxing
from Venustech ADLAB discovered this bug.
28. If pcregrep was given the -q option with -c or -l, or when handling a
binary file, it incorrectly wrote output to stdout.
29. The JIT compiler did not restore the control verb head in case of *THEN
control verbs. This issue was found by Karl Skomski with a custom LLVM
fuzzer.
30. Error messages for syntax errors following \g and \k were giving inaccurate
offsets in the pattern.
31. Added a check for integer overflow in conditions (?(<digits>) and
(?(R<digits>). This omission was discovered by Karl Skomski with the LLVM
fuzzer.
32. Handling recursive references such as (?2) when the reference is to a group
later in the pattern uses code that is very hacked about and error-prone.
It has been re-written for PCRE2. Here in PCRE1, a check has been added to
give an internal error if it is obvious that compiling has gone wrong.
33. The JIT compiler should not check repeats after a {0,1} repeat byte code.
This issue was found by Karl Skomski with a custom LLVM fuzzer.
34. The JIT compiler should restore the control chain for empty possessive
repeats. This issue was found by Karl Skomski with a custom LLVM fuzzer.
35. Match limit check added to JIT recursion. This issue was found by Karl
Skomski with a custom LLVM fuzzer.
36. Yet another case similar to 27 above has been circumvented by an
unconditional allocation of extra memory. This issue is fixed "properly" in
PCRE2 by refactoring the way references are handled. Wen Guanxing
from Venustech ADLAB discovered this bug.
37. Fix two assertion fails in JIT. These issues were found by Karl Skomski
with a custom LLVM fuzzer.
38. Fixed a corner case of range optimization in JIT.
39. An incorrect error "overran compiling workspace" was given if there were
exactly enough group forward references such that the last one extended
into the workspace safety margin. The next one would have expanded the
workspace. The test for overflow was not including the safety margin.
40. A match limit issue is fixed in JIT which was found by Karl Skomski
with a custom LLVM fuzzer.
41. Remove the use of /dev/null in testdata/testinput2, because it doesn't
work under Windows. (Why has it taken so long for anyone to notice?)
42. In a character class such as [\W\p{Any}] where both a negative-type escape
("not a word character") and a property escape were present, the property
escape was being ignored.
43. Fix crash caused by very long (*MARK) or (*THEN) names.
44. A sequence such as [[:punct:]b] that is, a POSIX character class followed
by a single ASCII character in a class item, was incorrectly compiled in
UCP mode. The POSIX class got lost, but only if the single character
followed it.
45. [:punct:] in UCP mode was matching some characters in the range 128-255
that should not have been matched.
46. If [:^ascii:] or [:^xdigit:] or [:^cntrl:] are present in a non-negated
class, all characters with code points greater than 255 are in the class.
When a Unicode property was also in the class (if PCRE_UCP is set, escapes
such as \w are turned into Unicode properties), wide characters were not
correctly handled, and could fail to match.
- Improved BD-J security.
- Improved error resilience.
- Improved seeking (avoid skipping PAT/PMT/PCR).
- Fix UO mask check when bd_play_title() is used for Top Menu.
- Fix re-starting of title bound Xlets when title changes.
- Fix loading classes with invalid debug info.