bug-hyperbole
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#23873: Advised fill-paragraph breaks kotl-mode


From: Robert Weiner
Subject: bug#23873: Advised fill-paragraph breaks kotl-mode
Date: Fri, 1 Jul 2016 09:16:55 -0400

On Thu, Jun 30, 2016 at 8:34 AM, Stephen Berman <address@hidden> wrote:

> My Emacs init file loads a package that advises fill-paragraph; when I
> subsequently type `C-h h k e' to visit Hyperbole's example Koutliner
> file, this raises the following error, which prevents the file's buffer
> from being in kotl-mode:
>
> Debugger entered--Lisp error: (wrong-type-argument sequencep 128)

When fill-paragraph has been modified as you have done, Koutliner mode needs to
>   kotl-mode()

This should fix your problem for now in Hyperbole V5.14 as long as
your defadvice is run before you first load a .kotl file.  Your
defadviced version of fill-paragraph will be used in buffers not in
kotl-mode and Hyperbole's specialized one will be used in kotl-mode.

Replace the following function in "hact.el" in Hyperbole's main
directory with this version, byte-compile the file, then restart Emacs
and test with {C-h h k e} and let us know if the issue is resolved.
The variable, hyperb:dir, stores the value of Hyperbole's main
directory once Hyperbole has been loaded.  -- Bob

(defun action:params (action)
  "Returns unmodified ACTION parameter list."
  (cond ((null action) nil)
        ((symbolp action)
         (car (cdr
               (and (fboundp action) (hypb:indirect-function action)))))
        ((listp action)
         (if (eq (car action) 'autoload)
             (error "(action:params): Autoload not supported: %s" action)
           (car (cdr action))))
        ((hypb:emacs-byte-code-p action)
         (if (fboundp 'compiled-function-arglist)
             (compiled-function-arglist action)
           ;; Turn into a list for extraction.  Under Emacs 25, the
           ;; result could be a parameter list or an integer, a
           ;; bitstring representing a variable length argument list,
           ;; in which case there is no present way to get the
           ;; argument list, so just return nil.  See "(elisp)Byte-Code
           ;; Objects".
           (let ((params (car (cdr (cons nil (append action nil))))))
             (if (listp params) params))))))





reply via email to

[Prev in Thread] Current Thread [Next in Thread]