The screen is not updating after make

33 views
Skip to first unread message

Riza Dindir

unread,
Sep 9, 2025, 5:20:50 AM (4 days ago) Sep 9
to vim...@googlegroups.com
Hello,

I have a mapping like this:

command! -nargs=* Make silent make! <args> | if len(getqflist()) > 0 | copen | endif

Whenever I do call this command, the screen does not update. The screen is blank (where once was the source code displayed). and the quickfix window is sometimes left blank too.

This was the case when I was using :make with this.

I am using vim version 9.0.

VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Nov 24 2023 12:59:56)
Included patches: 1-2127

Does anybody have the same problem?

Regards

jr

unread,
Sep 9, 2025, 8:02:43 AM (4 days ago) Sep 9
to vim...@googlegroups.com
hi,

> I have a mapping like this:
> command! -nargs=* Make silent make! ...
> Whenever I do call this command, the screen does not update. The screen is blank (where once was the source code displayed). and the quickfix window is sometimes left blank too.
> This was the case when I was using :make with this.

I do not use a mapping, sorry not to answer your question, but, out of
interest, does '.SILENT;' in the 'Makefile' not work for you ?
('make' also has a CLI option to "silence" it).

--
regards, jr.

You have the right to free speech, as long as you're not dumb enough
to actually try it.
(The Clash 'Know Your Rights')

this email is intended only for the addressee(s) and may contain
confidential information. if you are not the intended recipient, you
are hereby notified that any use of this email, its dissemination,
distribution, and/or copying without prior written consent is
prohibited.

Riza Dindir

unread,
Sep 9, 2025, 9:20:12 AM (4 days ago) Sep 9
to vim...@googlegroups.com
Hello

That silent in the command is the vim silent command/annotation (or whatever that is)

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/vim_use/CAM-dBgr4qu-1jdanm4kbV82avJOT3aoCyWp3vs3P%2BKHrf0i3BA%40mail.gmail.com.

Christian Brabandt

unread,
Sep 9, 2025, 3:01:55 PM (4 days ago) Sep 9
to vim...@googlegroups.com

On Di, 09 Sep 2025, Riza Dindir wrote:

> That silent in the command is the vim silent command/annotation (or whatever
> that is)

So maybe you shouldn't use silent then?

Thanks,
Christian
--
A sadist is a masochist who follows the Golden Rule.

Marc Chantreux

unread,
Sep 9, 2025, 3:08:27 PM (4 days ago) Sep 9
to vim...@googlegroups.com
On Tue, Sep 09, 2025 at 12:21:32PM +0300, Riza Dindir wrote:
> I have a mapping like this:
>
> command! -nargs=* Make silent make! <args> | if len(getqflist()) > 0 | copen |
> endif

> Whenever I do call this command, the screen does not update. The screen is
> blank (where once was the source code displayed). and the quickfix window is
> sometimes left blank too.

how about:

command -nargs=* Make {
silent make! <args>
if len(getqflist()) > 0
copen
endif
redraw!
}

> Does anybody have the same problem?

not since I discovered redraw!

regards

--
Marc Chantreux
signature.asc

Igbanam Ogbuluijah

unread,
Sep 9, 2025, 4:44:08 PM (4 days ago) Sep 9
to vim...@googlegroups.com
Yeah, I was going to hint at :redraw! as well.

Whenever my screen goes blank :redraw! fixes it.


Igbanam


--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+u...@googlegroups.com.

Riza Dindir

unread,
Sep 9, 2025, 5:20:52 PM (4 days ago) Sep 9
to vim...@googlegroups.com
Hello

Silent should not have been the issue.

But I forgot about :redraw! :) Hopefully that will solve the problem...

Thanks for all the response.

Regards

Marc Chantreux

unread,
Sep 9, 2025, 7:01:28 PM (4 days ago) Sep 9
to vim...@googlegroups.com
On Wed, Sep 10, 2025 at 12:21:41AM +0300, Riza Dindir wrote:
> Hello
> Silent should not have been the issue.

well ... as far as I understand, silent makes things silent at the
point vim don't refresh the screen.

It's anyoing but I don't know if it's a bug or a configuration problem
(my terminal, my tmux or something).

regards

--
Marc Chantreux
signature.asc

Riza Dindir

unread,
Sep 10, 2025, 2:09:36 AM (4 days ago) Sep 10
to vim...@googlegroups.com
Hello

I was thinking that silent was silencing the message output, did not expect it to skip screen refresh... Then it might well be...

I am still using silent, will remove that and try that for a while. But the :redraw! did work.

Regards

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+u...@googlegroups.com.

Maxim Kim

unread,
Sep 10, 2025, 10:33:44 PM (3 days ago) Sep 10
to vim_use
You can try async :Make command:


def MakeComplete(_, _, _): string
    return system("make -npq : 2> /dev/null | awk -v RS= -F: '$1 ~ /^[^#%.]+$/ { print $1 }' | sort -u")
enddef

def Make(args: string = "")
    if exists("b:make_jobid") && job_status(b:make_jobid) == 'run'
        echo "There is a make job running."
        return
    endif
    var makeprg = &l:makeprg ?? &makeprg
    setqflist([], ' ', {title: $"{makeprg} {args}"})
    copen
    b:make_jobid = job_start($"{makeprg} {args}", {
        cwd: getcwd(),
        out_cb: (_, msg) => {
            setqflist([], 'a', {lines: [msg]})
        },
        err_cb: (_, msg) => {
            setqflist([], 'a', {lines: [msg]})
        },
        exit_cb: (_, _) => {
            if empty(getqflist())
                timer_start(500, (_) => {
                    if empty(getqflist())
                        cclose
                    endif
                })
            endif
            echo "Make is finished!"
        }
    })
enddef
command! -nargs=* -complete=custom,MakeComplete Make Make(<f-args>)

Reply all
Reply to author
Forward
0 new messages