clojure-emacs / clojure-mode

Emacs support for the Clojure(Script) programming language
916 stars 246 forks source link

uncomment not working #294

Closed philoskim closed 9 years ago

philoskim commented 9 years ago

I cannot uncomment an already commented clojure source line in clojure mode buffer by typing M-x uncomment-kill. I confirmed that uncommenting one line works in other language modes except for clojure-mode.

Please check and correct this bug.

The following is my environment.

clojure-mode version: 20150517.6 cider version: 20150519.451 emacs version: GNU Emacs 24.4.1 (x86_64-pc-linux-gnu, GTK+ Version 3.14.9) of 2015-03-21 on kissel, modified by Debian os version: ubuntu 15.04

bbatsov commented 9 years ago

I don't see a command uncomment-kill in Emacs. comment-line, comment-dwin and comment-kill work fine for me. Precise repro steps would be helpful.

philoskim commented 9 years ago

Thanks for your reply.

It was my mistake to call comment-kill uncomment-kill.

The following is precise repro steps.

(apply map vector [[:a :b :c]
                   [:d :e :f]
                   [:g :h :i]])

I set my region from line 1 to line 3 above and typed M-x comment-or-uncomment-region. Then the buffer changes as follows. It works fine now.

;; (apply map vector [[:a :b :c]
;;                    [:d :e :f]
;;                    [:g :h :i]])

However, I set the same region from line 1 to line 3 above and typed again M-x comment-or-uncomment-region. What I expected was to uncomment the entire region but the buffer changes as follows(double commenting instead of uncommenting region).

;; ;; (apply map vector [[:a :b :c]
;; ;;                    [:d :e :f]
;; ;;                    [:g :h :i]])
expez commented 9 years ago

This works fine for me. Perhaps you're using an old version of clojure-mode or some other package or customization is interfering.

philoskim commented 9 years ago

I am very sorry for having bothered you.

After reading your reply, I scanned my init.el file and found out the reason. The culprit was (modify-syntax-entry ?\; "w") in my clojure-mode-hook function.

Thanks very much anyway.