> Uwe Brauer writes: > Thatʼs not the way abbrev tables work: the regexp answers the question > "which characters before point do I use to lookup abbrevs in this > table?". That can't be both two words separated by a space and a > single word at the same time, ie using > "\\(\\w+ \\w+\\)\\|\\(w+\\) > will fail, since that will match the 'two word' version if thereʼs a > space on the line, so in order to get what you want you need two > abbrev tables: > (define-abbrev-table 'fundamental-mode-abbrev-table > '( > ("asi" "así" nil :count 0))) > (define-abbrev-table 'my-abbrev-table > '( > ("a que" "a qué" nil :count 0)) > "Uwe's table" > :regexp "\\(\\w+ \\w+\\)") Your code works, if I put it in by .abbrev_defs file and re-read the abbrev file. However when close emacs write-abbrev-file somehow destroys the table with the regexp. Is this a bug? This parts enters a minor mode > (setq local-abbrev-table (list my-abbrev-table fundamental-mode-abbrev-table))