I have emacs 23.3.1, running on windows.
php-mode 1.5 from http://php-mode.sourceforge.net/, Modified: 2008-11-04
I think this used to work, but now, when I try to comment out a block of code, using comment-region, which is an interactive compiled Lisp function in `newcomment.el', I get poor results.
Example:
before:

after:

You can see that each line in the commented block has the single-line comment start sequence //, and the multi-line comment-end sequence */.
This is not a huge problem, though it is ugly. The problem comes in when I try to uncomment the block. I get an error, "Can't find comment end". In other words, comment-region is not reversible with C-u comment-region.
I'll see if I can figure this out, but is there a setting I am missing in php-mode?
Anyone know?
MORE
I didn't put anything in my php-mode-hook function to change the comment-start and comment-end variables. When I debug comment-region I can see they get set to the mismatched pair of // and */ somehow. That explains the weird results of comment-region. I don't believe it's my code that does sets those variables like that.
I tried setting them explicitly in my hook to // and (empty string). In that case, the comment-region looks prettier but it still does not uncomment. I also tried the matched pair of /* and */, but that gave the same results. Uncomment does not succeed; the error is can't find comment end. .
MORE2
I think my syntax table is correct. It shows this:

...which seems right to me.
This solved it for me:
I put that in my php-mode hook.
Not sure if this was necessary, but I als included statements to modify the syntax table. The entire hook looks like this:
The help statement for
comment-use-syntaxsays that major modes should set it. In the php buffer I was editing, the variable was set to nil. I'm guessing it was set by php-mode; in any case it was not set by me. Setting this totand insuring that the syntax table had the appropriate values did the trick.I should say that I only use C-style comments in php; I don't use the
#.