Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes are not applied when using (wgrep-finish-edit) function. #36

Open
doctorate75 opened this issue Jun 7, 2017 · 20 comments
Open

Comments

@doctorate75
Copy link

the issue is reported here in this post link below:
https://emacs.stackexchange.com/q/33375/2443

help please.

@thierryvolpiatto
Copy link
Contributor

This have been fixed in 83674b3.
Perhaps update or reinstall wgrep and/or helm ?

@doctorate75
Copy link
Author

all are updated, reinstalled yet to no avail. Any further help would be much appreciated!

@doctorate75
Copy link
Author

doctorate75 commented Jun 8, 2017

here is the output of Edebug step-by-step debugging of wgrep-finish-edit after being deployed, could you please have a look at it and hopefully find out where the bug is?


Edebug: wgrep-finish-edit
Helm Grep Results saved in ‘*hgrep2*’ buffer
Press C-x C-s when finished or C-c C-k to abort changes.
Mark set
Quit
Mark set
11 matches for "12\.06\.2017"
 [2 times]
Result: ((#<buffer org_ANT_2.tex> (#<marker at 4333 in org_ANT_2.tex> "\\EN{Document: org\\_floor\\_ant\\_2 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_2 on 13.06.2017} %change here
" #<overlay from 841 to 902 in *hgrep2*> #<overlay from 823 to 902 in *hgrep2*>)) (#<buffer org_CMP.tex> (#<marker at 4290 in org_CMP.tex> "\\EN{Document: org\\_floor\\_cmp 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_cmp 13.06.2017} %change here
" #<overlay from 767 to 822 in *hgrep2*> #<overlay from 751 to 822 in *hgrep2*>)) (#<buffer org_CHM_2.tex> (#<marker at 4339 in org_CHM_2.tex> "\\EN{Document: org\\_floor\\_chm\\_2 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_chm\\_2 on 13.06.2017} %change here
" #<overlay from 689 to 750 in *hgrep2*> #<overlay from 671 to 750 in *hgrep2*>)) (#<buffer org_ANT_3.tex> (#<marker at 4341 in org_ANT_3.tex> "\\EN{Document: org\\_floor\\_ant\\_3 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_3 on 13.06.2017} %change here
" #<overlay from 609 to 670 in *hgrep2*> #<overlay from 591 to 670 in *hgrep2*>)) (#<buffer org_ANT_1.tex> (#<marker at 4281 in org_ANT_1.tex> "\\EN{Document: org\\_floor\\_ant\\_1 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_1 on 13.06.2017} %change here
" #<overlay from 529 to 590 in *hgrep2*> #<overlay from 511 to 590 in *hgrep2*>)) (#<buffer org_MRU.tex> (#<marker at 4302 in org_MRU.tex> "\\EN{Document: org\\_floor\\_mru on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_mru on 13.06.2017} %change here
" #<overlay from 452 to 510 in *hgrep2*> #<overlay from 436 to 510 in *hgrep2*>)) (#<buffer org_CHM_1.tex> (#<marker at 4337 in org_CHM_1.tex> "\\EN{Document: org\\_floor\\_chm\\_1 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_chm\\_1 on 13.06.2017} %change here
" #<overlay from 374 to 435 in *hgrep2*> #<overlay from 356 to 435 in *hgrep2*>)) (#<buffer org_PHR.tex> (#<marker at 4300 in org_PHR.tex> "\\EN{Document: org\\_floor\\_phr on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_phr on 13.06.2017} %change here
" #<overlay from 297 to 355 in *hgrep2*> #<overlay from 281 to 355 in *hgrep2*>)) (#<buffer org_PTH.tex> (#<marker at 4298 in org_PTH.tex> "\\EN{Document: org\\_floor\\_pth on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_pth on 13.06.2017} %change here
" #<overlay from 222 to 280 in *hgrep2*> #<overlay from 206 to 280 in *hgrep2*>)) (#<buffer org_PHY.tex> (#<marker at 4321 in org_PHY.tex> "\\EN{Document: org\\_floor\\_phy on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_phy on 13.06.2017} %change here
" #<overlay from 147 to 205 in *hgrep2*> #<overlay from 131 to 205 in *hgrep2*>)) (#<buffer org_MBO.tex> (#<marker at 4334 in org_MBO.tex> "\\EN{Document: org\\_floor\\_mbo on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_mbo on 13.06.2017} %change here
" #<overlay from 72 to 130 in *hgrep2*> #<overlay from 56 to 130 in *hgrep2*>)))
 [2 times]
Result: ((#<buffer org_ANT_2.tex> (#<marker at 4333 in org_ANT_2.tex> "\\EN{Document: org\\_floor\\_ant\\_2 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_2 on 13.06.2017} %change here
" #<overlay from 841 to 902 in *hgrep2*> #<overlay from 823 to 902 in *hgrep2*>)) (#<buffer org_CMP.tex> (#<marker at 4290 in org_CMP.tex> "\\EN{Document: org\\_floor\\_cmp 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_cmp 13.06.2017} %change here
" #<overlay from 767 to 822 in *hgrep2*> #<overlay from 751 to 822 in *hgrep2*>)) (#<buffer org_CHM_2.tex> (#<marker at 4339 in org_CHM_2.tex> "\\EN{Document: org\\_floor\\_chm\\_2 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_chm\\_2 on 13.06.2017} %change here
" #<overlay from 689 to 750 in *hgrep2*> #<overlay from 671 to 750 in *hgrep2*>)) (#<buffer org_ANT_3.tex> (#<marker at 4341 in org_ANT_3.tex> "\\EN{Document: org\\_floor\\_ant\\_3 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_3 on 13.06.2017} %change here
" #<overlay from 609 to 670 in *hgrep2*> #<overlay from 591 to 670 in *hgrep2*>)) (#<buffer org_ANT_1.tex> (#<marker at 4281 in org_ANT_1.tex> "\\EN{Document: org\\_floor\\_ant\\_1 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_1 on 13.06.2017} %change here
" #<overlay from 529 to 590 in *hgrep2*> #<overlay from 511 to 590 in *hgrep2*>)) (#<buffer org_MRU.tex> (#<marker at 4302 in org_MRU.tex> "\\EN{Document: org\\_floor\\_mru on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_mru on 13.06.2017} %change here
" #<overlay from 452 to 510 in *hgrep2*> #<overlay from 436 to 510 in *hgrep2*>)) (#<buffer org_CHM_1.tex> (#<marker at 4337 in org_CHM_1.tex> "\\EN{Document: org\\_floor\\_chm\\_1 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_chm\\_1 on 13.06.2017} %change here
" #<overlay from 374 to 435 in *hgrep2*> #<overlay from 356 to 435 in *hgrep2*>)) (#<buffer org_PHR.tex> (#<marker at 4300 in org_PHR.tex> "\\EN{Document: org\\_floor\\_phr on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_phr on 13.06.2017} %change here
" #<overlay from 297 to 355 in *hgrep2*> #<overlay from 281 to 355 in *hgrep2*>)) (#<buffer org_PTH.tex> (#<marker at 4298 in org_PTH.tex> "\\EN{Document: org\\_floor\\_pth on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_pth on 13.06.2017} %change here
" #<overlay from 222 to 280 in *hgrep2*> #<overlay from 206 to 280 in *hgrep2*>)) (#<buffer org_PHY.tex> (#<marker at 4321 in org_PHY.tex> "\\EN{Document: org\\_floor\\_phy on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_phy on 13.06.2017} %change here
" #<overlay from 147 to 205 in *hgrep2*> #<overlay from 131 to 205 in *hgrep2*>)) (#<buffer org_MBO.tex> (#<marker at 4334 in org_MBO.tex> "\\EN{Document: org\\_floor\\_mbo on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_mbo on 13.06.2017} %change here
" #<overlay from 72 to 130 in *hgrep2*> #<overlay from 56 to 130 in *hgrep2*>)))
 [4 times]
Result: (#<buffer org_ANT_2.tex> (#<marker at 4333 in org_ANT_2.tex> "\\EN{Document: org\\_floor\\_ant\\_2 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_2 on 13.06.2017} %change here
" #<overlay from 841 to 902 in *hgrep2*> #<overlay from 823 to 902 in *hgrep2*>))

Result: #<buffer org_ANT_2.tex>
 [2 times]
Result: (#<buffer org_ANT_2.tex> (#<marker at 4333 in org_ANT_2.tex> "\\EN{Document: org\\_floor\\_ant\\_2 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_2 on 13.06.2017} %change here
" #<overlay from 841 to 902 in *hgrep2*> #<overlay from 823 to 902 in *hgrep2*>))

Result: ((#<marker at 4333 in org_ANT_2.tex> "\\EN{Document: org\\_floor\\_ant\\_2 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_2 on 13.06.2017} %change here
" #<overlay from 841 to 902 in *hgrep2*> #<overlay from 823 to 902 in *hgrep2*>))

Result: nil
 [3 times]
Result: nil

Result: nil

Result: nil

Result: nil

Result: nil
 [4 times]
Result: (#<buffer org_CMP.tex> (#<marker at 4290 in org_CMP.tex> "\\EN{Document: org\\_floor\\_cmp 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_cmp 13.06.2017} %change here
" #<overlay from 767 to 822 in *hgrep2*> #<overlay from 751 to 822 in *hgrep2*>))

Result: #<buffer org_CMP.tex>
 [2 times]
Result: (#<buffer org_CMP.tex> (#<marker at 4290 in org_CMP.tex> "\\EN{Document: org\\_floor\\_cmp 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_cmp 13.06.2017} %change here
" #<overlay from 767 to 822 in *hgrep2*> #<overlay from 751 to 822 in *hgrep2*>))

Result: ((#<marker at 4290 in org_CMP.tex> "\\EN{Document: org\\_floor\\_cmp 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_cmp 13.06.2017} %change here
" #<overlay from 767 to 822 in *hgrep2*> #<overlay from 751 to 822 in *hgrep2*>))

Result: nil
 [3 times]
Result: nil

Result: nil

Result: nil

Result: nil

Result: nil
 [4 times]
Result: (#<buffer org_CHM_2.tex> (#<marker at 4339 in org_CHM_2.tex> "\\EN{Document: org\\_floor\\_chm\\_2 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_chm\\_2 on 13.06.2017} %change here
" #<overlay from 689 to 750 in *hgrep2*> #<overlay from 671 to 750 in *hgrep2*>))

Result: #<buffer org_CHM_2.tex>
 [2 times]
Result: (#<buffer org_CHM_2.tex> (#<marker at 4339 in org_CHM_2.tex> "\\EN{Document: org\\_floor\\_chm\\_2 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_chm\\_2 on 13.06.2017} %change here
" #<overlay from 689 to 750 in *hgrep2*> #<overlay from 671 to 750 in *hgrep2*>))

Result: ((#<marker at 4339 in org_CHM_2.tex> "\\EN{Document: org\\_floor\\_chm\\_2 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_chm\\_2 on 13.06.2017} %change here
" #<overlay from 689 to 750 in *hgrep2*> #<overlay from 671 to 750 in *hgrep2*>))

Result: nil
Stop

Stop

Stop

Result: nil
Stop

Result: nil

Result: nil

Result: nil

Result: nil
 [4 times]
Result: (#<buffer org_ANT_3.tex> (#<marker at 4341 in org_ANT_3.tex> "\\EN{Document: org\\_floor\\_ant\\_3 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_3 on 13.06.2017} %change here
" #<overlay from 609 to 670 in *hgrep2*> #<overlay from 591 to 670 in *hgrep2*>))

Result: #<buffer org_ANT_3.tex>
 [2 times]
Result: (#<buffer org_ANT_3.tex> (#<marker at 4341 in org_ANT_3.tex> "\\EN{Document: org\\_floor\\_ant\\_3 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_3 on 13.06.2017} %change here
" #<overlay from 609 to 670 in *hgrep2*> #<overlay from 591 to 670 in *hgrep2*>))

Result: ((#<marker at 4341 in org_ANT_3.tex> "\\EN{Document: org\\_floor\\_ant\\_3 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_3 on 13.06.2017} %change here
" #<overlay from 609 to 670 in *hgrep2*> #<overlay from 591 to 670 in *hgrep2*>))

Result: nil
 [3 times]
Result: nil

Result: nil

Result: nil

Result: nil

Result: nil
 [4 times]
Result: (#<buffer org_ANT_1.tex> (#<marker at 4281 in org_ANT_1.tex> "\\EN{Document: org\\_floor\\_ant\\_1 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_1 on 13.06.2017} %change here
" #<overlay from 529 to 590 in *hgrep2*> #<overlay from 511 to 590 in *hgrep2*>))

Result: #<buffer org_ANT_1.tex>
 [2 times]
Result: (#<buffer org_ANT_1.tex> (#<marker at 4281 in org_ANT_1.tex> "\\EN{Document: org\\_floor\\_ant\\_1 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_1 on 13.06.2017} %change here
" #<overlay from 529 to 590 in *hgrep2*> #<overlay from 511 to 590 in *hgrep2*>))

Result: ((#<marker at 4281 in org_ANT_1.tex> "\\EN{Document: org\\_floor\\_ant\\_1 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_ant\\_1 on 13.06.2017} %change here
" #<overlay from 529 to 590 in *hgrep2*> #<overlay from 511 to 590 in *hgrep2*>))

Result: nil
 [3 times]
Result: nil

Result: nil

Result: nil

Result: nil

Result: nil
 [4 times]
Result: (#<buffer org_MRU.tex> (#<marker at 4302 in org_MRU.tex> "\\EN{Document: org\\_floor\\_mru on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_mru on 13.06.2017} %change here
" #<overlay from 452 to 510 in *hgrep2*> #<overlay from 436 to 510 in *hgrep2*>))

Result: #<buffer org_MRU.tex>
Stop

Stop

Result: (#<buffer org_MRU.tex> (#<marker at 4302 in org_MRU.tex> "\\EN{Document: org\\_floor\\_mru on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_mru on 13.06.2017} %change here
" #<overlay from 452 to 510 in *hgrep2*> #<overlay from 436 to 510 in *hgrep2*>))
Stop

Result: ((#<marker at 4302 in org_MRU.tex> "\\EN{Document: org\\_floor\\_mru on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_mru on 13.06.2017} %change here
" #<overlay from 452 to 510 in *hgrep2*> #<overlay from 436 to 510 in *hgrep2*>))
Stop

Result: nil
Stop

Stop
 [2 times]
Result: nil

Result: nil

Result: nil

Result: nil

Result: nil
 [4 times]
Result: (#<buffer org_CHM_1.tex> (#<marker at 4337 in org_CHM_1.tex> "\\EN{Document: org\\_floor\\_chm\\_1 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_chm\\_1 on 13.06.2017} %change here
" #<overlay from 374 to 435 in *hgrep2*> #<overlay from 356 to 435 in *hgrep2*>))

Result: #<buffer org_CHM_1.tex>
 [2 times]
Result: (#<buffer org_CHM_1.tex> (#<marker at 4337 in org_CHM_1.tex> "\\EN{Document: org\\_floor\\_chm\\_1 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_chm\\_1 on 13.06.2017} %change here
" #<overlay from 374 to 435 in *hgrep2*> #<overlay from 356 to 435 in *hgrep2*>))

Result: ((#<marker at 4337 in org_CHM_1.tex> "\\EN{Document: org\\_floor\\_chm\\_1 on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_chm\\_1 on 13.06.2017} %change here
" #<overlay from 374 to 435 in *hgrep2*> #<overlay from 356 to 435 in *hgrep2*>))
Stop

Result: nil
 [3 times]
Result: nil

Result: nil

Result: nil

Result: nil

Result: nil
 [4 times]
Result: (#<buffer org_PHR.tex> (#<marker at 4300 in org_PHR.tex> "\\EN{Document: org\\_floor\\_phr on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_phr on 13.06.2017} %change here
" #<overlay from 297 to 355 in *hgrep2*> #<overlay from 281 to 355 in *hgrep2*>))

Result: #<buffer org_PHR.tex>
 [2 times]
Result: (#<buffer org_PHR.tex> (#<marker at 4300 in org_PHR.tex> "\\EN{Document: org\\_floor\\_phr on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_phr on 13.06.2017} %change here
" #<overlay from 297 to 355 in *hgrep2*> #<overlay from 281 to 355 in *hgrep2*>))

Result: ((#<marker at 4300 in org_PHR.tex> "\\EN{Document: org\\_floor\\_phr on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_phr on 13.06.2017} %change here
" #<overlay from 297 to 355 in *hgrep2*> #<overlay from 281 to 355 in *hgrep2*>))
Stop

Result: nil
 [3 times]
Result: nil

Result: nil

Result: nil

Result: nil

Result: nil
 [4 times]
Result: (#<buffer org_PTH.tex> (#<marker at 4298 in org_PTH.tex> "\\EN{Document: org\\_floor\\_pth on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_pth on 13.06.2017} %change here
" #<overlay from 222 to 280 in *hgrep2*> #<overlay from 206 to 280 in *hgrep2*>))

Result: #<buffer org_PTH.tex>
 [2 times]
Result: (#<buffer org_PTH.tex> (#<marker at 4298 in org_PTH.tex> "\\EN{Document: org\\_floor\\_pth on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_pth on 13.06.2017} %change here
" #<overlay from 222 to 280 in *hgrep2*> #<overlay from 206 to 280 in *hgrep2*>))

Result: ((#<marker at 4298 in org_PTH.tex> "\\EN{Document: org\\_floor\\_pth on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_pth on 13.06.2017} %change here
" #<overlay from 222 to 280 in *hgrep2*> #<overlay from 206 to 280 in *hgrep2*>))

Result: nil
 [3 times]
Result: nil

Result: nil

Result: nil

Result: nil

Result: nil
 [4 times]
Result: (#<buffer org_PHY.tex> (#<marker at 4321 in org_PHY.tex> "\\EN{Document: org\\_floor\\_phy on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_phy on 13.06.2017} %change here
" #<overlay from 147 to 205 in *hgrep2*> #<overlay from 131 to 205 in *hgrep2*>))

Result: #<buffer org_PHY.tex>
 [2 times]
Result: (#<buffer org_PHY.tex> (#<marker at 4321 in org_PHY.tex> "\\EN{Document: org\\_floor\\_phy on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_phy on 13.06.2017} %change here
" #<overlay from 147 to 205 in *hgrep2*> #<overlay from 131 to 205 in *hgrep2*>))

Result: ((#<marker at 4321 in org_PHY.tex> "\\EN{Document: org\\_floor\\_phy on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_phy on 13.06.2017} %change here
" #<overlay from 147 to 205 in *hgrep2*> #<overlay from 131 to 205 in *hgrep2*>))

Result: nil
 [3 times]
Result: nil
Stop

Result: nil
Stop

Result: nil

Result: nil

Result: nil
 [4 times]
Result: (#<buffer org_MBO.tex> (#<marker at 4334 in org_MBO.tex> "\\EN{Document: org\\_floor\\_mbo on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_mbo on 13.06.2017} %change here
" #<overlay from 72 to 130 in *hgrep2*> #<overlay from 56 to 130 in *hgrep2*>))

Result: #<buffer org_MBO.tex>
 [2 times]
Result: (#<buffer org_MBO.tex> (#<marker at 4334 in org_MBO.tex> "\\EN{Document: org\\_floor\\_mbo on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_mbo on 13.06.2017} %change here
" #<overlay from 72 to 130 in *hgrep2*> #<overlay from 56 to 130 in *hgrep2*>))

Result: ((#<marker at 4334 in org_MBO.tex> "\\EN{Document: org\\_floor\\_mbo on 12.06.2017} %change here
" "\\EN{Document: org\\_floor\\_mbo on 13.06.2017} %change here
" #<overlay from 72 to 130 in *hgrep2*> #<overlay from 56 to 130 in *hgrep2*>))
Stop

Result: nil
 [3 times]
Result: nil

Result: nil

Result: nil

Result: nil

Result: nil

Result: nil
 [2 times]
Result: nil
 [2 times]
Result: t
 [4 times]
Result: nil

Result: 0 (#o0, #x0, ?\C-@)

Result: "(0 changed)"
 [2 times]
Result: (#<overlay from 823 to 902 in *hgrep2*> #<overlay from 751 to 822 in *hgrep2*> #<overlay from 671 to 750 in *hgrep2*> #<overlay from 591 to 670 in *hgrep2*> #<overlay from 511 to 590 in *hgrep2*> #<overlay from 436 to 510 in *hgrep2*> #<overlay from 356 to 435 in *hgrep2*> #<overlay from 281 to 355 in *hgrep2*> #<overlay from 206 to 280 in *hgrep2*> #<overlay from 131 to 205 in *hgrep2*> #<overlay from 56 to 130 in *hgrep2*>)
 [3 times]
Result: (#<overlay from 823 to 902 in *hgrep2*> #<overlay from 751 to 822 in *hgrep2*> #<overlay from 671 to 750 in *hgrep2*> #<overlay from 591 to 670 in *hgrep2*> #<overlay from 511 to 590 in *hgrep2*> #<overlay from 436 to 510 in *hgrep2*> #<overlay from 356 to 435 in *hgrep2*> #<overlay from 281 to 355 in *hgrep2*> #<overlay from 206 to 280 in *hgrep2*> #<overlay from 131 to 205 in *hgrep2*> #<overlay from 56 to 130 in *hgrep2*>)

Result: nil
 [3 times]
Result: (#<overlay from 823 to 902 in *hgrep2*> #<overlay from 751 to 822 in *hgrep2*> #<overlay from 671 to 750 in *hgrep2*> #<overlay from 591 to 670 in *hgrep2*> #<overlay from 511 to 590 in *hgrep2*> #<overlay from 436 to 510 in *hgrep2*> #<overlay from 356 to 435 in *hgrep2*> #<overlay from 281 to 355 in *hgrep2*> #<overlay from 206 to 280 in *hgrep2*> #<overlay from 131 to 205 in *hgrep2*> #<overlay from 56 to 130 in *hgrep2*>)

Result: 11 (#o13, #xb, ?\C-k)

Result: nil
 [3 times]
Result: (#<overlay from 823 to 902 in *hgrep2*> #<overlay from 751 to 822 in *hgrep2*> #<overlay from 671 to 750 in *hgrep2*> #<overlay from 591 to 670 in *hgrep2*> #<overlay from 511 to 590 in *hgrep2*> #<overlay from 436 to 510 in *hgrep2*> #<overlay from 356 to 435 in *hgrep2*> #<overlay from 281 to 355 in *hgrep2*> #<overlay from 206 to 280 in *hgrep2*> #<overlay from 131 to 205 in *hgrep2*> #<overlay from 56 to 130 in *hgrep2*>)

Result: 11 (#o13, #xb, ?\C-k)

Result: "(0 changed)"

There are 11 unapplied changes. (0 changed)
Result: "There are 11 unapplied changes. (0 changed)"

Result: "There are 11 unapplied changes. (0 changed)"

Result: "There are 11 unapplied changes. (0 changed)"

Result: "There are 11 unapplied changes. (0 changed)"

scroll-up-command: End of buffer
(No changes need to be saved)
No buffer has been saved.

@thierryvolpiatto
Copy link
Contributor

thierryvolpiatto commented Jun 8, 2017 via email

@doctorate75
Copy link
Author

I don't know how to reinstall helm from outside emacs (clone of githubt) without breaking org-ref stuff, at restart emacs complains that org-ref needs helm<5.5.1> version which I removed form the elpa folder.

I rely solely on package.el management system, except for org from github and with loaded path. Some recommend using el-get.el, others second cask. Which one do you think is useful in cases such as this one? Your advise would be very much appreciated. I would adopt what you suggest if that will solve the problem without doing all that reinstall and install stuff from outside emacs.

@thierryvolpiatto
Copy link
Contributor

thierryvolpiatto commented Jun 10, 2017 via email

@doctorate75
Copy link
Author

doctorate75 commented Jun 10, 2017

It didn't work either. I did the following:

From inside Emacs M-x package-list-packages, I deleted all three helm, wgrep and wgrep-helm by pressing D and then x to delete them from within the packages buffer. However, for helm package I could not delete it completely as others, it changed status from installed to dependency and I don't know which dependency is that.
Restarted Emacs,
Installed helm shown as dependency, and changed to installed by pressing I and then x to execute installation.
Restarted Emacs
Reinstalled wgrep and wgrep-helm together, again by pressing I and then x.
Restarted Emacs.
The same problem remains. What do I miss here? thanks.

@thierryvolpiatto
Copy link
Contributor

thierryvolpiatto commented Jun 10, 2017 via email

@doctorate75
Copy link
Author

doctorate75 commented Jun 10, 2017

so what do I need to do in order to get rid of the old one without breaking setup code? I think here is the real issue.

@thierryvolpiatto
Copy link
Contributor

thierryvolpiatto commented Jun 10, 2017 via email

@oscarfv
Copy link

oscarfv commented May 17, 2019

The linked issue on the first message no longer works (please, people, provide proper bug reports instead of a link) but I must mention that I don't use helm and too often wgrep does not apply all the changes. I operate on buffers produced by ag. My wgrep is version 2.2.0 I just came back here to grab the most recent version.

@xuanni
Copy link

xuanni commented Sep 2, 2019

Make sure buffer is not read-only (if so customize wgrep change read-only flag), and also file is not write-protected (file mode).

@garyo
Copy link

garyo commented Oct 4, 2019

I'm having the same problem operating on ag buffers. I use wgrep-change-to-wgrep-mode (at this point the ag buffer is not read-only), make some changes, C-x C-s, and it goes through each change and turns the text red (on the green background) and says "there are 9 unapplied changes. (0 changed)". I see nothing in the *Messages* buffer. Not sure where to go from here!

@garyo
Copy link

garyo commented Oct 4, 2019

Ah, I think I see what's going on -- ag uses --column so the matches look like this:

tests/unit/store/project.spec.ts:12:8:import shotStore from '@/store'

Note the :8 which I think wgrep-mode isn't expecting. Unfortunately that can't be turned off for ag-mode.

@garyo
Copy link

garyo commented Oct 5, 2019

Answer: use the wgrep-ag package; that fixes this.

@alastairdb
Copy link

Another cause of the edits failing to be applied is when helm presents the "file name" as the uniquified buffer name. The uniquified file name cannot be found in default directory, so wgrep cannot apply the change.

Workarounds:

  1. Kill similarly named buffers so that the relevant buffer name is no longer uniquified.
  2. Use wgrep-ag

@xuanni
Copy link

xuanni commented Oct 16, 2020

Another cause of the edits failing to be applied is when helm presents the "file name" as the uniquified buffer name. The uniquified file name cannot be found in default directory, so wgrep cannot apply the change.

Workarounds:

  1. Kill similarly named buffers so that the relevant buffer name is no longer uniquified.
  2. Use wgrep-ag

^ I just encountered a case similar to this. I have a buffer "log" and another "log.org", changes cannot be applied to "log", when I close the "log.org", it works fine. I wonder why wgrep just look at the file name without extension?

@sethidden
Copy link

sethidden commented Nov 13, 2023

In my case after pressing ZZ I'd get the message 'There are 34 unapplied changes. (0 changed)' and the files in the wgrep buffer would turn red/orange. Also many autosave (#.) files would appear in magit status as untracked.

Then I tried M-x wgrep-save-all-buffers and the changes were applied successfully.

@benthamite
Copy link

benthamite commented May 8, 2024

I am experiencing this as well. In my case, I collect the search results via consult-ripgrep, followed by embark-act, embark-export and wgrep-change-to-wgrep-mode. When I invoke wgrep-finish-edit, sometimes a subset of the files is not saved.

I suspect that it is related to the file extension or the major mode (or something else that correlates with a file extension) since I recently performed a massive search and replace involving over 2000 replacements and the few failures all involved org and texi files, despite the fact that the bulk of the occurrences were in el files (none of which failed).

M-x wgrep-save-all-buffers did not make a difference.

@benthamite
Copy link

I traced back the issue to wgrep-apply-change:

(defun wgrep-apply-change (marker old new)
  "The changes in the *grep* buffer are applied to the file.
NEW may be nil this means deleting whole line."
  (let ((coding buffer-file-coding-system))
    (goto-char marker)
    ;; check BOM
    (when (and (= (point-min-marker) marker)
               coding
               (coding-system-get coding :bom))
      (setq old (wgrep-string-replace-bom old coding))
      (when new
        (setq new (wgrep-string-replace-bom new coding))))
    ;; Check buffer line was modified after execute grep.
    (unless (string= old
		     (buffer-substring-no-properties
		      (line-beginning-position) (line-end-position)))
      (signal 'wgrep-error (list "Buffer was changed after grep.")))
    (cond
     (new
      (wgrep-replace-to-new-line new))
     (t
      ;; new nil means flush whole line.
      (wgrep-flush-whole-line)
))))

The check (unless (string= old ... is the source of the error. For some reason, sometimes the value of old, which is the text shown in the overlay of the Embark buffer, does not match the return value of (buffer-substring-no-properties (line-beginning-position) (line-end-position)).

Here is a concrete, reproducible example:

  1. Visit the file etica-de-la-poblacion.md, attached at the end of this message.
  2. M-x consult-ripgrep RET description:.
  3. embark-act on the first (and only) candidate, then embark-export in the *Embark Actions* menu.
  4. wgrep-change-to-wgrep-mode.
  5. M-x isearch-forward RET description: RET.
  6. M-% (insert-query-repalce) followed by the replacement text, e.g. "description:", followed by SPC to confirm the replacement.
  7. Do not apply the changes yet. Instead, open wgrep.el in the directory where the wgrep package is installed, and move point to the definition of wgrep-apply-change.
  8. Instrument the function with C-u C-M-x (i.e. eval-defun with prefix argument).
  9. Now go back to the Embark buffer and apply the changes with C-c C-c.
  10. Point should jump to the beginning of wgrep-apply-change. Hit SPC until you reach the unless form.
  11. Keep pressing SPC until the value of old is printed in the echo area. This value should be "descripcion: \"La ética de la población aborda cuestiones como el peso de las nuevas vidas en relación con el de las ya existentes, y el modo de equilibrar la cantidad y la calidad de vida (cuando se comparan poblaciones de distinto tamaño). En este capítulo se analizan cinco grandes enfoques de la é".
  12. Keep pressing SPC until the value of (buffer-substring-no-properties (line-beginning-position) (line-end-position)) is printed in the echo area. This value should be "descripcion: \"La ética de la población aborda cuestiones como el peso de las nuevas vidas en relación con el de las ya existentes, y el modo de equilibrar la cantidad y la calidad de vida (cuando se comparan poblaciones de distinto tamaño). En este capítulo se analizan cinco grandes enfoques de la ética de la población: la perspectiva total, la perspectiva promedio, las teorías del valor variable, las teorías del nivel crítico (y del rango crítico) y las perspectivas centradas en las personas afectadas.\""

The two values should be equal, but they are not. This is the source of the error. Not sure why this is happening—perhaps someone with better Elisp skills than I have can figure it out?

@mhayashi1120

etica-de-la-poblacion.md

benthamite added a commit to benthamite/dotfiles that referenced this issue May 28, 2024
consult-ripgrep + wgrep is faster than elgrep, but wgrep has a bug that
sometimes causes changes not to be applied:

mhayashi1120/Emacs-wgrep#36

Since this has been going on for years, it seems unlikely it will be fixed any
time soon. So I'm going back to elgrep for now.
benthamite added a commit to benthamite/dotfiles that referenced this issue Jun 5, 2024
consult-ripgrep + wgrep is faster than elgrep, but wgrep has a bug that
sometimes causes changes not to be applied:

mhayashi1120/Emacs-wgrep#36

Since this has been going on for years, it seems unlikely it will be fixed any
time soon. So I'm going back to elgrep for now.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants