From Greg Bennett running sbcl 1.4.11 (64bit) under linux mint 18.1 (64bit)
and using mcclim-2019-0202-git, as far as I can tell.

I'm trying to learn how to add and remove menus from an existing menubar
which I presume is done through its associated command-table. In the interests of
completeness I include the contents of the example file. If this is a silly thing to do,
let me know.

From that git, I'm using the file Examples/menutest.lisp as a basis for experiments with menus,
menubars, adding and removing menus.

;; START File contents of Examples/menutest.lisp
;;;  (c) copyright 2000 by
;;;          Robert Strandh (robert.strandh@gmail.com)

;;; This library is free software; you can redistribute it and/or
;;; modify it under the terms of the GNU Library General Public
;;; License as published by the Free Software Foundation; either
;;; version 2 of the License, or (at your option) any later version.
;;;
;;; This library is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;;; Library General Public License for more details.
;;;
;;; You should have received a copy of the GNU Library General Public
;;; License along with this library; if not, write to the
;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;;; Boston, MA  02111-1307  USA.

(defpackage #:menutest
  (:use :clim :clim-extensions :clim-lisp)
  (:export #:menutest))

(in-package #:menutest)

(define-application-frame menutest ()
  ()
  (:menu-bar menubar-command-table)
  (:panes
   (screen :application
           :display-time nil
           :text-style (make-text-style :sans-serif :roman :normal)))
  (:layouts
   (defaults (vertically () screen))))

(define-menutest-command com-file ()
  (format *standard-output* "You pressed the File button.~%")
  (finish-output *standard-output*))

(define-menutest-command com-hello ()
  (format *standard-output* "You pressed the Hello button.~%")
  (finish-output *standard-output*))

(define-menutest-command com-hi ()
  (format *standard-output* "You pressed the Hi button.~%")
  (finish-output *standard-output*))

(make-command-table 'buffer-command-table
            :errorp nil
            :menu '(("Hello there" :command com-hello)
                ("Hi there"    :command com-hi)))

(make-command-table 'menubar-command-table
            :errorp nil
            :menu '(("Buffer" :menu buffer-command-table)
                ("File"   :command com-file)))
;; END file contents

Inside the package menutest, I added this form:

(defun run-menutest (thread-name)
  (flet ((run ()
              (let ((frame (make-application-frame 'menutest)))
                (run-frame-top-level frame))))
        (sb-thread::make-thread #'run :name thread-name)))

so that I can create the frame and keep the listener.

With Daniel's help I can see what is on the command-table:
(let (foo)
      (map-over-command-table-commands
       (lambda (elt) (push elt foo))
       (frame-command-table (find-application-frame 'menutest))) ;; from CLIM 2 P201 [f-c-t], P178 [f-a-f] 'menutest
      ;;; from define application-frame itself
       (nreverse foo))
 ;; ->
 
(COM-FILE COM-HELLO COM-HI CLIM-INTERNALS::COM-NULL-COMMAND
          CLIM-INTERNALS::COM-HELP CLIM-INTERNALS::COM-DESCRIBE
          CLIM-INTERNALS::COM-DESCRIBE-PRESENTATION
          CLIM-TAB-LAYOUT:COM-SWITCH-TO-TAB-PAGE
          CLIM-TAB-LAYOUT:COM-REMOVE-TAB-PAGE)

And I seem to be able to add a command:
(define-menutest-command com-RWO ()
  (format *standard-output* "Fearless Leader~%")
  (finish-output *standard-output*))

;; followed by [CLIM2.2 P219]
 (add-menu-item-to-command-table
  (frame-command-table (find-application-frame 'menutest))
  "RWO"
  :command
  (cons 'COM-RWO (list ())))
;; -> NIL
;; Does NIL indicate something is wrong, I wonder ?

;; Rerun (let ..)
(COM-FILE COM-HELLO COM-HI COM-RWO CLIM-INTERNALS::COM-NULL-COMMAND
          CLIM-INTERNALS::COM-HELP CLIM-INTERNALS::COM-DESCRIBE
          CLIM-INTERNALS::COM-DESCRIBE-PRESENTATION
          CLIM-TAB-LAYOUT:COM-SWITCH-TO-TAB-PAGE
          CLIM-TAB-LAYOUT:COM-REMOVE-TAB-PAGE)
;;; and there it seems to be.

I had hoped that the application-frame would now show RWO.

Do I have to explicitly redisplay the items of the frame's menubar, perhaps ?

My attempts to use (display-command-table-menu ..) each yield a
no applicable method error.

I would appreciate pointers to what I am still missing in exploring command-tables.

Cheers /Greg Bennett